Compare commits

...

11 Commits

Author SHA1 Message Date
zhangzhuo
1d6c2a99c9 修改报表导出时间 2025-04-01 15:29:09 +08:00
anerx
380a5e6b7c 修改报表导出模板内容 2025-03-29 17:02:00 +08:00
anerx
4000c331ac 怎加报表码垛时间 2025-03-29 14:27:07 +08:00
zhangzhuo
449725e03c 修复报表生成BUG 2025-03-27 13:46:12 +08:00
zhangzhuo
3bb7e88752 Merge branch 'master' of https://codeup.aliyun.com/6163d9eec6536d077d968f6b/hyosung 2025-03-27 11:53:08 +08:00
zhangzhuo
1fda31eb3b 暂时不要发布标签 2025-03-27 11:52:48 +08:00
anerx
e674b6929a 鞥加简单版本的导出 2025-03-27 11:48:28 +08:00
anerx
ea434ac8b9 修正自动标签代码 2025-03-27 11:24:42 +08:00
zhangzhuo
872c678b10 修改了入库数据以及相关BUG 2025-03-27 09:12:16 +08:00
zhangzhuo
d8c53f8bee 修改多了个.0的BUG 2025-03-26 17:56:43 +08:00
anerx
1e852f0d86 修复条码生成BUG 2025-03-26 17:54:08 +08:00
9 changed files with 111 additions and 22 deletions

View File

@ -148,7 +148,7 @@ public class HyosungPlcService(ILogger<HyosungPlcService> logger) : IHyosungPlcS
break;
}
await _writer.WriteShortsAsync(13050, [1, 1, 1, masterCount]);
await _writer.WriteShortsAsync(13050, [1, 1, 1, 2]);
}
public async Task WritePrintLabelResultAsync(int index, bool result)

View File

@ -49,7 +49,7 @@ public class AveryPrinter(string host, int port)
await ConnectAsync(CancellationToken.None);
}
await _socket.SendAsync(Encoding.UTF8.GetBytes(context));
await _socket.SendAsync(Encoding.ASCII.GetBytes(context));
}
private const string CleanCmd = "#!A1#!CA#!P1";
@ -63,7 +63,7 @@ public class AveryPrinter(string host, int port)
await ConnectAsync(CancellationToken.None);
}
await _socket.SendAsync(Encoding.UTF8.GetBytes(CleanCmd));
await _socket.SendAsync(Encoding.ASCII.GetBytes(CleanCmd));
}
public async Task PrintAsync()
@ -74,6 +74,6 @@ public class AveryPrinter(string host, int port)
await ConnectAsync(CancellationToken.None);
}
await _socket.SendAsync(Encoding.UTF8.GetBytes(PrintCmd));
await _socket.SendAsync(Encoding.ASCII.GetBytes(PrintCmd));
}
}

View File

@ -121,14 +121,14 @@ public class HyosungPrinter(
"250101J068",
$"\"{DateTime.Now.ToString("yyMMdd" + "J") + tray.ControlNo.ToString()?.PadLeft(3, '0')}\""
},
{ "DTYY-JPA11530SFG250101000900115305480", $"\"{tray.Barcode}\"" }
{ "DTYY-JPA11530SFG250101000900115305480", $"{tray.Barcode}" }
};
string content = options.Value.DefaultTemp;
foreach (var (key, value) in dic)
{
content = content.Replace(key, value);
}
logger.LogInformation($"print content: {content}");
return content;
}
}

View File

@ -9,25 +9,32 @@ public class LabelResult
public string BE_ID { get; set; } = "2240";
public string BAR_CODE { get; set; } = "";
public string ITEM_CODE { get; set; } = "";
public string LABEL_ID { get; set; } = "";
public string LABEL_ID { get; set; } = "TY_CN_PRODUCT";
public string WMS_UOM { get; set; } = "";
public string ERP_UOM { get; set; } = "";
public string MFG_DATE { get; set; } = "";
public decimal NET_WEIGHT { get; set; } = 0;
public decimal GROSS_WEIGHT { get; set; } = 0;
public string MFG_LINE { get; set; } = "";
public string MFG_LINE { get; set; } = "TYJP11";
public string GRADE { get; set; } = "";
public string LOT { get; set; } = "";
public string BOX_NO { get; set; } = "";
// public string DENIER { get; set; } = "";
// public string FILA { get; set; } = "";
// public string DENIER { get; set; } = "";
// public string FILA { get; set; } = "";
public string CUSTOMER_NAME { get; set; } = "";
// public string REMARKS { get; set; } = "";
// public string TRI_INTERFACE_YN { get; set; } = "";
public string TRI_TYPE { get; set; } = "zp10";
//public string COMMON_S1 { get; set; } = "";
//public string COMMON_S2 { get; set; } = "";
//public string COMMON_S3 { get; set; } = "";
// public string REMARKS { get; set; } = "";
// public string TRI_INTERFACE_YN { get; set; } = "";
public string TRI_TYPE { get; set; } = "ZP10";
public string COMMON_S1 { get; set; } = "";
public string COMMON_S2 { get; set; } = "";
public string COMMON_S3 { get; set; } = "";
public string COMMON_S4 { get; set; } = "";
public string COMMON_S5 { get; set; } = "";
//public string COMMON_S4 { get; set; } = "";
//public string COMMON_S5 { get; set; } = "";
//public string COMMON_N1 { get; set; } = "";
@ -36,6 +43,8 @@ public class LabelResult
public string CREATED_ON { get; set; } = DateTime.Now.ToString("yyyy-MM-dd");
public string MODIFIED_BY { get; set; } = "seyounth";
public string MODIFIED_ON { get; set; } = DateTime.Now.ToString("yyyy-MM-dd");
public double COMMON_N1 { get; set; } = 0;
public LabelResult(Tray tray, Variety variety)
{
@ -43,14 +52,22 @@ public class LabelResult
BE_ID = "2240";
BAR_CODE = tray.Barcode ?? "";
ITEM_CODE = variety.Code;
MFG_DATE = DateTime.Now.ToString("yyyy-MM-dd");
MFG_DATE = DateTime.Now.ToString("yyyyMMdd");
NET_WEIGHT = (decimal)tray.NetWeight;
GROSS_WEIGHT = (decimal)tray.GrossWeight;
GRADE = tray.Grade ?? "";
LOT = variety.Lot.ToString();
BOX_NO = tray.ControlNo?.ToString() ?? "";
BOX_NO = $"{DateTime.Now.ToString("yyMMdd" + "J") + tray.ControlNo.ToString()?.PadLeft(3, '0')}";
CREATED_BY = "seyounth";
CREATED_ON = DateTime.Now.ToString("yyyy-MM-dd");
COMMON_S1 = tray.Type?? "";
COMMON_S2 = variety.TotalCount.ToString();
COMMON_S3=tray.DenFila?? "";
COMMON_S4 = tray.DtexFila?? "";
COMMON_S5 = "0";
COMMON_N1 = (double)tray.ControlNo;
MODIFIED_BY = "seyounth";
MODIFIED_ON = DateTime.Now.ToString("yyyy-MM-dd");
}
public LabelResult()

View File

@ -97,8 +97,10 @@ public class HyosungWmsService : IHyosungWmsService
&& t.ITEM_CODE_TYPE == "FERT");
result.WMS_UOM = mst_item.WMS_UOM_ID;
result.ERP_UOM = mst_item.ERP_UOM_ID;
var workCenter = await _db.Queryable<MST_ITEM_VERSION>()
.FirstAsync(v => v.ITEM_CODE == result.ITEM_CODE);
result.MFG_LINE=(workCenter?.WORK_CENTER)??"TYJP11";
await _db.Insertable(result).ExecuteCommandAsync();
}catch(Exception e)
{

View File

@ -3,6 +3,8 @@ namespace Seyounth.Hyosung.Data.Services;
public interface IReportExportService
{
Task ExportAsync(string trayCode);
Task ExportSampleAsync(string trayCode);
Task ExportNoExportAsync();

View File

@ -31,6 +31,70 @@ 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("DEN");
dt.Columns.Add("总个数/垛");
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.DenFila, yarns.Count, yarns[i - 1].ProduceTime,
yarns[i - 1].Machine, yarns[i - 1].WorkShift, yarns[i - 1].StackTime);
}
else
{
dt.Rows.Add(yarns[i - 1].Lot, tray.DenFila, " ", yarns[i - 1].ProduceTime,
yarns[i - 1].Machine, yarns[i - 1].WorkShift,yarns[i - 1].StackTime);
}
}
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,"export");
// 设置数据行字体大小
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);
@ -90,7 +154,7 @@ public class ReportExportService(
{
try
{
await ExportAsync(code);
await ExportSampleAsync(code);
}
catch (Exception e)
{

View File

@ -88,8 +88,11 @@ public class TrayService : ITrayService
tray.Unit = itemInfo.UNIT;
tray.NetWeight = variety.NetWeight ?? itemInfo.NET_WEIGHT;
tray.GrossWeight = variety.GrossWeight ?? itemInfo.GROSS_WEIGHT;
var netWeight = tray.NetWeight.ToString("0.0");
if (netWeight.EndsWith(".0"))
netWeight = netWeight.Replace(".0", "");
tray.Barcode =
$"{itemInfo.ITEM_CODE} {DateTime.Now:yyMMdd}00{itemInfo.LOTNO.PadLeft(4, '0')}{tray.ControlNo?.ToString().PadLeft(4, '0')}0";
$"{itemInfo.ITEM_CODE} {DateTime.Now:yyMMdd}{netWeight.PadLeft(6,'0')}{itemInfo.LOTNO.PadLeft(4, '0')}{tray.ControlNo?.ToString().PadLeft(4, '0')}0";
await _db.Updateable<TrayEntity>(tray.ToEntity()).ExecuteCommandAsync();
// _cache.Remove(tray.TrayCode, out _);
return tray;

View File

@ -204,10 +204,10 @@ public class HyosungRuntime(
{
await trayService.StorageAsync(info.TrayCode);
reportExportService.ExportSampleAsync(info.TrayCode);
await hyosungAgvService.StorageAsync(info.TrayCode);
//标志下线已完成
await hyosungPlcService.LeaveCompletedAsync();
await reportExportService.ExportAsync(info.TrayCode);
logger.LogInformation($"plc leaving production line success");
}
catch (Exception e)
@ -422,9 +422,10 @@ public class HyosungRuntime(
{
await printer.PrintAsync(2, tray.TrayCode);
await hyosungPlcService.WritePrintLabelResultAsync(arg1, true);
var version=await hyosungWmsService.GetItemInfoByItemCode(variety.Code);
// await varietyService.SetLastNo(variety.Id, tray.ControlNo.Value);
//await hyosungWmsService.UpdateControlNo(variety, tray.ControlNo.Value);
await hyosungWmsService.AddLabelResult(new LabelResult(tray, variety));
// await hyosungWmsService.AddLabelResult(new LabelResult(tray, variety));
}
logger.LogInformation($"plc request print label success");