add new data for 99 archivecode and rollcall excels
This commit is contained in:
@@ -5,21 +5,34 @@ using System.Drawing;
|
||||
|
||||
namespace CompanyManagement.Infrastructure.Excel.Temp;
|
||||
|
||||
|
||||
public class GetAllContractingPartyExcelGenerator
|
||||
{
|
||||
public static byte[] GenerateExcel(List<DataExcelResult> dataList)
|
||||
{
|
||||
ExcelPackage.LicenseContext = LicenseContext.NonCommercial;
|
||||
using var package = new ExcelPackage();
|
||||
var ws = package.Workbook.Worksheets.Add("گزارش");
|
||||
var archive99Sheet = package.Workbook.Worksheets.Add("کارگاه های 99");
|
||||
|
||||
var rollCallSheet = package.Workbook.Worksheets.Add("حضورغیابی");
|
||||
|
||||
var archive99Data = dataList.Where(x => x.Workshops.Any(a => a.ArchiveCode == "99")).ToList();
|
||||
CreateSheet(archive99Data, archive99Sheet);
|
||||
|
||||
CreateSheet(dataList.Where(x=>x.Workshops.Any(w=>w.HasRollCall)).ToList(), rollCallSheet);
|
||||
|
||||
|
||||
|
||||
return package.GetAsByteArray();
|
||||
}
|
||||
|
||||
private static void CreateSheet(List<DataExcelResult> dataList, ExcelWorksheet ws)
|
||||
{
|
||||
string[] headers = new[]
|
||||
{
|
||||
"ContractingPartyId", "نام طرف حساب", "EmployerId", "نام کارفرما", "WorkshopId","کد کارگاه", "نام کارگاه",
|
||||
"خدمات قرارداد", "خدمات قرارداد حضوری", "خدمات بیمه", "خدمات بیمه حضوری",
|
||||
"خدمات حضورغیاب", "فیش حقوقی غیر رسمی", "تعداد استند", "تعداد ماه های بدهی قبلی برای حضورغیاب"
|
||||
};
|
||||
"ContractingPartyId", "نام طرف حساب", "EmployerId", "نام کارفرما", "WorkshopId", "کد کارگاه", "نام کارگاه",
|
||||
"خدمات قرارداد", "خدمات قرارداد حضوری", "خدمات بیمه", "خدمات بیمه حضوری",
|
||||
"خدمات حضورغیاب", "فیش حقوقی غیر رسمی", "تعداد استند", "تعداد ماه های بدهی قبلی برای حضورغیاب"
|
||||
};
|
||||
|
||||
for (int i = 0; i < headers.Length; i++)
|
||||
{
|
||||
@@ -43,7 +56,9 @@ public class GetAllContractingPartyExcelGenerator
|
||||
{
|
||||
int workshopStartRow = row;
|
||||
|
||||
var employers = workshop.Employers.Any() ? workshop.Employers : new List<EmployerExcelResultData> { new() };
|
||||
var employers = workshop.Employers.Any()
|
||||
? workshop.Employers
|
||||
: new List<EmployerExcelResultData> { new() };
|
||||
|
||||
foreach (var employer in employers)
|
||||
{
|
||||
@@ -68,7 +83,7 @@ public class GetAllContractingPartyExcelGenerator
|
||||
foreach (var col in boolCols)
|
||||
{
|
||||
var cell = ws.Cells[row, col];
|
||||
if (Convert.ToInt32(cell.Value) >0 )
|
||||
if (Convert.ToInt32(cell.Value) > 0)
|
||||
{
|
||||
cell.Style.Fill.PatternType = ExcelFillStyle.Solid;
|
||||
cell.Style.Fill.BackgroundColor.SetColor(Color.FromArgb(198, 239, 206)); // سبز اکسل
|
||||
@@ -125,10 +140,7 @@ public class GetAllContractingPartyExcelGenerator
|
||||
|
||||
ws.Cells.AutoFitColumns();
|
||||
ws.View.RightToLeft = true;
|
||||
|
||||
return package.GetAsByteArray();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public class DataExcelResult
|
||||
@@ -136,15 +148,12 @@ public class DataExcelResult
|
||||
public long ContractingPartyId { get; set; }
|
||||
public string ContractingPartyName { get; set; }
|
||||
public List<WorkshopExcelResultData> Workshops { get; set; }
|
||||
|
||||
}
|
||||
|
||||
public class EmployerExcelResultData
|
||||
{
|
||||
public long Id { get; set; }
|
||||
public string EmployerName { get; set; }
|
||||
|
||||
|
||||
}
|
||||
|
||||
public class WorkshopExcelResultData
|
||||
|
||||
Reference in New Issue
Block a user