鞥加简单版本的导出
This commit is contained in:
parent
ea434ac8b9
commit
e674b6929a
@ -3,6 +3,8 @@ namespace Seyounth.Hyosung.Data.Services;
|
|||||||
public interface IReportExportService
|
public interface IReportExportService
|
||||||
{
|
{
|
||||||
Task ExportAsync(string trayCode);
|
Task ExportAsync(string trayCode);
|
||||||
|
|
||||||
|
Task ExportSampleAsync(string trayCode);
|
||||||
|
|
||||||
|
|
||||||
Task ExportNoExportAsync();
|
Task ExportNoExportAsync();
|
||||||
|
@ -31,6 +31,69 @@ public class ReportExportService(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public async Task ExportSampleAsync(string trayCode)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var tray = await trayService.GetByCode(trayCode);
|
||||||
|
var variety = await varietyService.GetById(tray.VarietyId);
|
||||||
|
var yarns = await yarnService.GetYarnsByTrayIdAsync(tray.Id);
|
||||||
|
await CreateSample(tray, variety, yarns);
|
||||||
|
await trayService.ExportedAsync(tray.TrayCode);
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
logger.LogError(e, $"export report [{trayCode}] error");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private async Task CreateSample(Tray tray, Variety variety, List<Yarn> yarns)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
DataTable dt = new DataTable();
|
||||||
|
dt.Columns.Add("LOT");
|
||||||
|
dt.Columns.Add("DTEX_FILA");
|
||||||
|
dt.Columns.Add("总个数/垛");
|
||||||
|
dt.Columns.Add("生产时间");
|
||||||
|
dt.Columns.Add("机台");
|
||||||
|
dt.Columns.Add("班次");
|
||||||
|
for (int i = 1; i <= yarns.Count; i++)
|
||||||
|
{
|
||||||
|
if (i == 1)
|
||||||
|
{
|
||||||
|
dt.Rows.Add(yarns[i - 1].Lot, tray.DtexFila, yarns.Count, yarns[i - 1].ProduceTime,
|
||||||
|
yarns[i - 1].Machine, yarns[i - 1].WorkShift);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
dt.Rows.Add(yarns[i - 1].Lot, tray.DtexFila, "", yarns[i - 1].ProduceTime,
|
||||||
|
yarns[i - 1].Machine, yarns[i - 1].WorkShift);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var path = await GetDirectoryAsync();
|
||||||
|
var fileName = $"{variety.Lot}_{tray.Barcode.Split(" ")[1]}_{DateTime.Now:yyyyMMdd}.xlsx";
|
||||||
|
var filePath = Path.Combine(path, fileName);
|
||||||
|
using var workbook = new XLWorkbook();
|
||||||
|
var worksheet = workbook.Worksheets.Add(dt);
|
||||||
|
// 设置数据行字体大小
|
||||||
|
var dataRows = worksheet.RowsUsed();
|
||||||
|
foreach (var row in dataRows)
|
||||||
|
{
|
||||||
|
row.Style.Font.FontSize = 14;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 自动调整列宽
|
||||||
|
worksheet.Columns().AdjustToContents();
|
||||||
|
workbook.SaveAs(filePath);
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
logger.LogError(e, "export today report error");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private async Task Create(Tray tray, Variety variety, List<Yarn> yarns)
|
private async Task Create(Tray tray, Variety variety, List<Yarn> yarns)
|
||||||
{
|
{
|
||||||
using var workbook = new XLWorkbook(TempPath);
|
using var workbook = new XLWorkbook(TempPath);
|
||||||
|
@ -207,7 +207,7 @@ public class HyosungRuntime(
|
|||||||
await hyosungAgvService.StorageAsync(info.TrayCode);
|
await hyosungAgvService.StorageAsync(info.TrayCode);
|
||||||
//标志下线已完成
|
//标志下线已完成
|
||||||
await hyosungPlcService.LeaveCompletedAsync();
|
await hyosungPlcService.LeaveCompletedAsync();
|
||||||
await reportExportService.ExportAsync(info.TrayCode);
|
await reportExportService.ExportSampleAsync(info.TrayCode);
|
||||||
logger.LogInformation($"plc leaving production line success");
|
logger.LogInformation($"plc leaving production line success");
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user