Merge branch 'master' of https://codeup.aliyun.com/6163d9eec6536d077d968f6b/hyosung
This commit is contained in:
commit
3bb7e88752
@ -3,6 +3,8 @@ namespace Seyounth.Hyosung.Data.Services;
|
||||
public interface IReportExportService
|
||||
{
|
||||
Task ExportAsync(string trayCode);
|
||||
|
||||
Task ExportSampleAsync(string trayCode);
|
||||
|
||||
|
||||
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)
|
||||
{
|
||||
using var workbook = new XLWorkbook(TempPath);
|
||||
|
@ -207,7 +207,7 @@ public class HyosungRuntime(
|
||||
await hyosungAgvService.StorageAsync(info.TrayCode);
|
||||
//标志下线已完成
|
||||
await hyosungPlcService.LeaveCompletedAsync();
|
||||
await reportExportService.ExportAsync(info.TrayCode);
|
||||
await reportExportService.ExportSampleAsync(info.TrayCode);
|
||||
logger.LogInformation($"plc leaving production line success");
|
||||
}
|
||||
catch (Exception e)
|
||||
|
Loading…
x
Reference in New Issue
Block a user