修复BUG 当前版本为可打印标签2 1张版本

This commit is contained in:
zhangzhuo 2025-03-19 02:42:56 +08:00
parent a3245b7013
commit c527e8135f
6 changed files with 47 additions and 25 deletions

View File

@ -97,18 +97,19 @@ public class HyosungPlcService(ILogger<HyosungPlcService> logger) : IHyosungPlcS
List<short> ls = new List<short>(); List<short> ls = new List<short>();
ls.Add((short)option.HeadCount); ls.Add((short)option.HeadCount);
ls.Add((short)(option.IsTop ? 1 : 2)); ls.Add((short)(option.IsTop ? 1 : 2));
await _writer.WriteShortsAsync(12120, ls.ToArray()); ls.Add(1);
ls.Clear();
ls.Add((short)(option.HasBox ? 1 : 2)); ls.Add((short)(option.HasBox ? 1 : 2));
ls.Add((short)(option.IsPack ? 1 : 2)); ls.Add((short)(option.IsPack ? 1 : 2));
ls.Add((short)(option.IsFilm ? 1 : 2)); ls.Add((short)(option.IsFilm ? 1 : 2));
ls.Add((short)(option.IsLam ? 1 : 2)); ls.Add((short)(option.IsLam ? 1 : 2));
await _writer.WriteShortsAsync(12123, ls.ToArray()); await _writer.WriteShortsAsync(12120, ls.ToArray());
} }
public async Task WritePrintLabelResultAsync(int index, bool result) public async Task WritePrintLabelResultAsync(int index, bool result)
{ {
var address = index == 1 ? 13060 : 13061; var address = index == 1 ? 13060 : 13061;
if (index == 2)
await _writer.WriteShortsAsync(13053, 4);
await _writer.WriteShortsAsync(address, (short)(result ? 1 : 2)); await _writer.WriteShortsAsync(address, (short)(result ? 1 : 2));
} }
@ -298,7 +299,7 @@ public class HyosungPlcService(ILogger<HyosungPlcService> logger) : IHyosungPlcS
if (requestPrintLabel[1] == 1) if (requestPrintLabel[1] == 1)
{ {
var trayCode = await _reader.ReadStringAsync(13001); var trayCode = await _reader.ReadStringAsync(13000);
await _writer.WriteShortsAsync(13011, 0); await _writer.WriteShortsAsync(13011, 0);
await _writer.WriteShortsAsync(13012, 0); await _writer.WriteShortsAsync(13012, 0);
OnRequestPrintLabel?.Invoke(2, trayCode, requestPrintLabel[2]); OnRequestPrintLabel?.Invoke(2, trayCode, requestPrintLabel[2]);

View File

@ -111,7 +111,7 @@ public class HyosungPrinter(
{ "1670dtex -144F", $"\"{tray.DtexFila}\"" }, { "1670dtex -144F", $"\"{tray.DtexFila}\"" },
{ "1500D - 144F", $"\"{tray.DenFila}\"" }, { "1500D - 144F", $"\"{tray.DenFila}\"" },
{ "$SA", $"\"{tray.Grade}\"" }, { "$SA", $"\"{tray.Grade}\"" },
{ "$900", $"\"{labelResult.NET_WEIGHT}\"" }, { "$900", $"\"{labelResult.NET_WEIGHT.ToString("0.0")}\"" },
{ "25-01-01", $"\"{DateTime.Now:yy-MM-dd}\"" }, { "25-01-01", $"\"{DateTime.Now:yy-MM-dd}\"" },
{ "$90", $"\"{variety.TotalCount}\"" }, { "$90", $"\"{variety.TotalCount}\"" },
{ "$965", $"\"{labelResult.GROSS_WEIGHT}\"" }, { "$965", $"\"{labelResult.GROSS_WEIGHT}\"" },

View File

@ -5,7 +5,7 @@ namespace Seyounth.Hyosung.Data.Services.Hyosung.Entities;
[SugarTable("LABEL_RESULT")] [SugarTable("LABEL_RESULT")]
public class LabelResult public class LabelResult
{ {
public int BE_ID { get; set; } public string BE_ID { get; set; }
public string BAR_CODE { get; set; } public string BAR_CODE { get; set; }
public string ITEM_CODE { get; set; } public string ITEM_CODE { get; set; }
public string LABEL_ID { get; set; } public string LABEL_ID { get; set; }

View File

@ -53,9 +53,12 @@ public class HyosungWmsService : IHyosungWmsService
else else
{ {
await _db.Updateable<MST_BOXNO_SEQ_NON_DATE>() await _db.Updateable<MST_BOXNO_SEQ_NON_DATE>()
.SetColumns(i => i.LastNo == controlNo .SetColumns(i => new MST_BOXNO_SEQ_NON_DATE
&& i.ModifiedTime == DateTime.Now {
&& i.ModifiedBy == "seyounth") LastNo = controlNo,
ModifiedTime = DateTime.Now,
ModifiedBy = "seyounth"
})
.Where(i => i.BeId == "2240" && .Where(i => i.BeId == "2240" &&
i.ItemCode == variety.Code && i.ItemCode == variety.Code &&
i.CheckCode == checkCode).ExecuteCommandAsync(); i.CheckCode == checkCode).ExecuteCommandAsync();
@ -64,16 +67,23 @@ public class HyosungWmsService : IHyosungWmsService
public async Task<LabelResult> GetLabelResult(string itemCode, string lot, int controlNo) public async Task<LabelResult> GetLabelResult(string itemCode, string lot, int controlNo)
{ {
string code = $"{itemCode.Trim()} {DateTime.Now.AddDays(0):yyMMdd}"; try
string code2 = $"{lot.Trim()}{controlNo.ToString().PadLeft(4, '0')}0"; {
string code = $"{itemCode.Trim()} {DateTime.Now.AddDays(0):yyMMdd}";
string code2 = $"{lot.Trim()}{(controlNo-1).ToString().PadLeft(4, '0')}0";
// 使用 SqlSugar 进行查询 // 使用 SqlSugar 进行查询
return await _db.Queryable<LabelResult>() return await _db.Queryable<LabelResult>()
.Where(x => .Where(x =>
x.BAR_CODE.Substring(0, 24) == code && x.BAR_CODE.Substring(0, 24) == code &&
x.BAR_CODE.Substring(x.BAR_CODE.Length - 9, 9) == code2 && x.BAR_CODE.Substring(x.BAR_CODE.Length - 9, 9) == code2 &&
x.BE_ID == 2240 x.BE_ID == "2240"
) )
.FirstAsync(); .FirstAsync();
} catch (Exception e)
{
throw e;
}
} }
} }

View File

@ -68,7 +68,16 @@ public class TrayService : ITrayService
public async Task PrintTrayAsync(string trayCode, int stackHeight, int controlNo, MST_ITEM_2240_V itemInfo) public async Task PrintTrayAsync(string trayCode, int stackHeight, int controlNo, MST_ITEM_2240_V itemInfo)
{ {
var tray = _cache[trayCode]; Tray tray;
try
{
tray = _cache[trayCode];
}
catch
{
tray = await GetByCode(trayCode);
}
tray.ControlNo = controlNo; tray.ControlNo = controlNo;
tray.StackHeight = stackHeight; tray.StackHeight = stackHeight;
tray.Grade = itemInfo.GRADE; tray.Grade = itemInfo.GRADE;

View File

@ -291,22 +291,24 @@ public class HyosungRuntime(
logger.LogInformation($"plc request print label:{arg1} {trayCode} {height}"); logger.LogInformation($"plc request print label:{arg1} {trayCode} {height}");
try try
{ {
if (arg1 == 1)
{
var tray = await trayService.GetByCode(trayCode); var tray = await trayService.GetByCode(trayCode);
var variety = await varietyService.GetById(tray.VarietyId); var variety = await varietyService.GetById(tray.VarietyId);
var mod = await hyosungWmsService.GetItemInfoByItemCode(variety.Code); var mod = await hyosungWmsService.GetItemInfoByItemCode(variety.Code);
var grade = "1"; var grade = "1";
if (mod.GRADE != "AA") grade = mod.GRADE; if (mod.GRADE != "AA") grade = mod.GRADE;
var controlNo = await hyosungWmsService.GetControlNo(variety, grade); var controlNo = await hyosungWmsService.GetControlNo(variety, grade);
await trayService.PrintTrayAsync(trayCode, height, controlNo, mod); await trayService.PrintTrayAsync(trayCode, height, controlNo, mod);
await printer.PrintAsync(1, trayCode); if (arg1 == 1)
await hyosungWmsService.UpdateControlNo(variety, controlNo); {
await printer.PrintAsync(1, trayCode);
} }
else else
await printer.PrintAsync(2, trayCode); await printer.PrintAsync(2, trayCode);
await hyosungPlcService.WritePrintLabelResultAsync(arg1, true); await hyosungPlcService.WritePrintLabelResultAsync(arg1, true);
await hyosungWmsService.UpdateControlNo(variety, controlNo);
logger.LogInformation($"plc request print label success"); logger.LogInformation($"plc request print label success");
} }
catch (Exception e) catch (Exception e)