增加插入到Hyosung数据库的方法
This commit is contained in:
parent
ab90afda5b
commit
4251b781f9
@ -21,8 +21,8 @@ public class HyosungPrinter(
|
|||||||
public async Task StartAsync(CancellationToken token)
|
public async Task StartAsync(CancellationToken token)
|
||||||
{
|
{
|
||||||
List<Task> ls = new List<Task>();
|
List<Task> ls = new List<Task>();
|
||||||
ls.Add(_masterPrinter.ConnectAsync(token)) ;
|
ls.Add(_masterPrinter.ConnectAsync(token));
|
||||||
ls.Add(_slavePrinter.ConnectAsync(token)) ;
|
ls.Add(_slavePrinter.ConnectAsync(token));
|
||||||
await Task.WhenAll(ls);
|
await Task.WhenAll(ls);
|
||||||
logger.LogInformation("printer connected");
|
logger.LogInformation("printer connected");
|
||||||
}
|
}
|
||||||
@ -103,23 +103,23 @@ public class HyosungPrinter(
|
|||||||
private async Task<string> GetPrint2Content(Tray tray)
|
private async Task<string> GetPrint2Content(Tray tray)
|
||||||
{
|
{
|
||||||
var variety = await varietyService.GetById(tray.VarietyId);
|
var variety = await varietyService.GetById(tray.VarietyId);
|
||||||
var labelResult =
|
|
||||||
await hyosungWmsService.GetLabelResult(variety.Code, variety.Lot.ToString(), tray.ControlNo!.Value);
|
|
||||||
var dic = new Dictionary<string, string>
|
var dic = new Dictionary<string, string>
|
||||||
{
|
{
|
||||||
{ "$1153", $"\"{variety.Lot}\"" },
|
{ "$1153", $"\"{variety.Lot}\"" },
|
||||||
{ "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.ToString("0.0")}\"" },
|
{ "$900", $"\"{tray.NetWeight: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", $"\"{tray.GrossWeight}\"" },
|
||||||
{
|
{
|
||||||
"250101J068",
|
"250101J068",
|
||||||
$"\"{DateTime.Now.ToString("yyMMdd" + "J") + tray.ControlNo.ToString()?.PadLeft(3, '0')}\""
|
$"\"{DateTime.Now.ToString("yyMMdd" + "J") + tray.ControlNo.ToString()?.PadLeft(3, '0')}\""
|
||||||
},
|
},
|
||||||
{ "DTYY-JPA11530SFG250101000900115305480", $"\"{labelResult.BAR_CODE}\"" }
|
{ "DTYY-JPA11530SFG250101000900115305480", $"\"{tray.Barcode}\"" }
|
||||||
};
|
};
|
||||||
string content = options.Value.DefaultTemp;
|
string content = options.Value.DefaultTemp;
|
||||||
foreach (var (key, value) in dic)
|
foreach (var (key, value) in dic)
|
||||||
|
@ -40,4 +40,6 @@ public class TrayEntity
|
|||||||
[SugarColumn(IsNullable = true)] public double GrossWeight { get; set; }
|
[SugarColumn(IsNullable = true)] public double GrossWeight { get; set; }
|
||||||
|
|
||||||
[SugarColumn(IsNullable = true)] public int? AgvBinId { get; set; }
|
[SugarColumn(IsNullable = true)] public int? AgvBinId { get; set; }
|
||||||
|
|
||||||
|
[SugarColumn(IsNullable = true)] public string? Barcode { get; set; }
|
||||||
}
|
}
|
@ -36,6 +36,8 @@ public class Tray
|
|||||||
|
|
||||||
public int? AgvBinId { get; set; }
|
public int? AgvBinId { get; set; }
|
||||||
|
|
||||||
|
public string? Barcode { get; set; }
|
||||||
|
|
||||||
public TrayEntity ToEntity()
|
public TrayEntity ToEntity()
|
||||||
{
|
{
|
||||||
return new TrayEntity()
|
return new TrayEntity()
|
||||||
@ -55,7 +57,8 @@ public class Tray
|
|||||||
Grade = Grade,
|
Grade = Grade,
|
||||||
Type = Type,
|
Type = Type,
|
||||||
Unit = Unit,
|
Unit = Unit,
|
||||||
AgvBinId = AgvBinId
|
AgvBinId = AgvBinId,
|
||||||
|
Barcode = Barcode
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -78,7 +81,8 @@ public class Tray
|
|||||||
Grade = entity.Grade,
|
Grade = entity.Grade,
|
||||||
Type = entity.Type,
|
Type = entity.Type,
|
||||||
Unit = entity.Unit,
|
Unit = entity.Unit,
|
||||||
AgvBinId = entity.AgvBinId
|
AgvBinId = entity.AgvBinId,
|
||||||
|
Barcode = entity.Barcode
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,3 +1,4 @@
|
|||||||
|
using Seyounth.Hyosung.Data.Models;
|
||||||
using SqlSugar;
|
using SqlSugar;
|
||||||
|
|
||||||
namespace Seyounth.Hyosung.Data.Services.Hyosung.Entities;
|
namespace Seyounth.Hyosung.Data.Services.Hyosung.Entities;
|
||||||
@ -5,34 +6,54 @@ namespace Seyounth.Hyosung.Data.Services.Hyosung.Entities;
|
|||||||
[SugarTable("LABEL_RESULT")]
|
[SugarTable("LABEL_RESULT")]
|
||||||
public class LabelResult
|
public class LabelResult
|
||||||
{
|
{
|
||||||
public string BE_ID { get; set; }
|
public string BE_ID { get; set; } = "2240";
|
||||||
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; } = "";
|
||||||
public string WMS_UOM { get; set; }
|
public string WMS_UOM { get; set; } = "";
|
||||||
public string ERP_UOM { get; set; }
|
public string ERP_UOM { get; set; } = "";
|
||||||
public string MFG_DATE { get; set; }
|
public string MFG_DATE { get; set; } = "";
|
||||||
public decimal NET_WEIGHT { get; set; }
|
public decimal NET_WEIGHT { get; set; } = 0;
|
||||||
public double GROSS_WEIGHT { get; set; }
|
public double GROSS_WEIGHT { get; set; } = 0;
|
||||||
public string MFG_LINE { get; set; }
|
public string MFG_LINE { get; set; } = "";
|
||||||
public string GRADE { get; set; }
|
public string GRADE { get; set; } = "";
|
||||||
public string LOT { get; set; }
|
public string LOT { get; set; } = "";
|
||||||
public string BOX_NO { get; set; }
|
public string BOX_NO { get; set; } = "";
|
||||||
public string DENIER { get; set; }
|
public string DENIER { get; set; } = "";
|
||||||
public string FILA { get; set; }
|
public string FILA { get; set; } = "";
|
||||||
public string CUSTOMER_NAME { get; set; }
|
public string CUSTOMER_NAME { get; set; } = "";
|
||||||
public string REMARKS { get; set; }
|
public string REMARKS { get; set; } = "";
|
||||||
public string TRI_INTERFACE_YN { get; set; }
|
public string TRI_INTERFACE_YN { get; set; } = "";
|
||||||
public string TRI_TYPE { get; set; }
|
public string TRI_TYPE { get; set; } = "zp10";
|
||||||
public string COMMON_S1 { get; set; }
|
public string COMMON_S1 { get; set; } = "";
|
||||||
public string COMMON_S2 { get; set; }
|
public string COMMON_S2 { get; set; } = "";
|
||||||
public string COMMON_S3 { get; set; }
|
public string COMMON_S3 { get; set; } = "";
|
||||||
public string COMMON_S4 { get; set; }
|
public string COMMON_S4 { get; set; } = "";
|
||||||
public string COMMON_S5 { get; set; }
|
public string COMMON_S5 { get; set; } = "";
|
||||||
public string COMMON_N1 { get; set; }
|
public string COMMON_N1 { get; set; } = "";
|
||||||
public string TRI_YN { get; set; }
|
public string TRI_YN { get; set; } = "";
|
||||||
public string CREATED_BY { get; set; }
|
public string CREATED_BY { get; set; } = "seyounth";
|
||||||
public string CREATED_ON { get; set; }
|
public string CREATED_ON { get; set; } = DateTime.Now.ToString("yyyy-MM-dd");
|
||||||
public string MODIFIED_BY { get; set; }
|
public string MODIFIED_BY { get; set; } = "seyounth";
|
||||||
public string MODIFIED_ON { get; set; }
|
public string MODIFIED_ON { get; set; } = DateTime.Now.ToString("yyyy-MM-dd");
|
||||||
|
|
||||||
|
public LabelResult(Tray tray, Variety variety)
|
||||||
|
{
|
||||||
|
LABEL_ID = tray.TrayCode;
|
||||||
|
BE_ID = "2240";
|
||||||
|
BAR_CODE = tray.Barcode ?? "";
|
||||||
|
ITEM_CODE = variety.Code;
|
||||||
|
MFG_DATE = DateTime.Now.ToString("yyyy-MM-dd");
|
||||||
|
NET_WEIGHT = (decimal)tray.NetWeight;
|
||||||
|
GROSS_WEIGHT = tray.GrossWeight;
|
||||||
|
GRADE = tray.Grade ?? "";
|
||||||
|
LOT = variety.Lot.ToString();
|
||||||
|
BOX_NO = tray.ControlNo?.ToString() ?? "";
|
||||||
|
CREATED_BY = "seyounth";
|
||||||
|
CREATED_ON = DateTime.Now.ToString("yyyy-MM-dd");
|
||||||
|
}
|
||||||
|
|
||||||
|
public LabelResult()
|
||||||
|
{
|
||||||
|
}
|
||||||
}
|
}
|
26
Seyounth.Hyosung.Data/Services/Hyosung/Entities/MST_ITEM.cs
Normal file
26
Seyounth.Hyosung.Data/Services/Hyosung/Entities/MST_ITEM.cs
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
namespace Seyounth.Hyosung.Data.Services.Hyosung.Entities;
|
||||||
|
|
||||||
|
public class MST_ITEM
|
||||||
|
{
|
||||||
|
public string BE_ID { get; set; } = "2240";
|
||||||
|
|
||||||
|
public string ITEM_CODE { get; set; }
|
||||||
|
|
||||||
|
public string ITEM_CODE_TYPE { get; set; } = "FERT";
|
||||||
|
|
||||||
|
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 ERP_UOM_ID { get; set; }
|
||||||
|
|
||||||
|
public string WMS_UOM_ID { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,9 @@
|
|||||||
|
namespace Seyounth.Hyosung.Data.Services.Hyosung.Entities;
|
||||||
|
|
||||||
|
public class MST_ITEM_VERSION
|
||||||
|
{
|
||||||
|
public string ITEM_CODE { get; set; }
|
||||||
|
|
||||||
|
public string WORK_CENTER { get; set; }
|
||||||
|
|
||||||
|
}
|
@ -53,12 +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 => new MST_BOXNO_SEQ_NON_DATE
|
.SetColumns(i => new MST_BOXNO_SEQ_NON_DATE
|
||||||
{
|
{
|
||||||
LastNo = controlNo,
|
LastNo = controlNo,
|
||||||
ModifiedTime = DateTime.Now,
|
ModifiedTime = DateTime.Now,
|
||||||
ModifiedBy = "seyounth"
|
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();
|
||||||
@ -70,7 +70,7 @@ public class HyosungWmsService : IHyosungWmsService
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
string code = $"{itemCode.Trim()} {DateTime.Now.AddDays(0):yyMMdd}";
|
string code = $"{itemCode.Trim()} {DateTime.Now.AddDays(0):yyMMdd}";
|
||||||
string code2 = $"{lot.Trim()}{(controlNo-1).ToString().PadLeft(4, '0')}0";
|
string code2 = $"{lot.Trim()}{(controlNo - 1).ToString().PadLeft(4, '0')}0";
|
||||||
|
|
||||||
// 使用 SqlSugar 进行查询
|
// 使用 SqlSugar 进行查询
|
||||||
return await _db.Queryable<LabelResult>()
|
return await _db.Queryable<LabelResult>()
|
||||||
@ -80,10 +80,26 @@ public class HyosungWmsService : IHyosungWmsService
|
|||||||
x.BE_ID == "2240"
|
x.BE_ID == "2240"
|
||||||
)
|
)
|
||||||
.FirstAsync();
|
.FirstAsync();
|
||||||
} catch (Exception e)
|
}
|
||||||
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
throw e;
|
throw e;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task AddLabelResult(LabelResult result)
|
||||||
|
{
|
||||||
|
var mst_item = await _db.Queryable<MST_ITEM>()
|
||||||
|
.FirstAsync(t => t.BE_ID == "2240"
|
||||||
|
&& t.ITEM_CODE == result.ITEM_CODE
|
||||||
|
&& t.ITEM_CODE_TYPE == "FERT");
|
||||||
|
result.COMMON_S1 = mst_item.COMMON_S1;
|
||||||
|
result.COMMON_S3 = mst_item.COMMON_S3;
|
||||||
|
result.COMMON_S5 = mst_item.COMMON_S5;
|
||||||
|
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);
|
||||||
|
await _db.Insertable(result).ExecuteCommandAsync();
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -11,5 +11,7 @@ public interface IHyosungWmsService
|
|||||||
|
|
||||||
Task UpdateControlNo(Variety variety, int controlNo);
|
Task UpdateControlNo(Variety variety, int controlNo);
|
||||||
|
|
||||||
Task<LabelResult> GetLabelResult(string itemCode,string lot,int controlNo);
|
Task<LabelResult> GetLabelResult(string itemCode, string lot, int controlNo);
|
||||||
|
|
||||||
|
Task AddLabelResult(LabelResult result);
|
||||||
}
|
}
|
@ -41,5 +41,5 @@ public interface ITrayService
|
|||||||
/// <param name="controlNo"></param>
|
/// <param name="controlNo"></param>
|
||||||
/// <param name="itemInfo"></param>
|
/// <param name="itemInfo"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task PrintTrayAsync(string trayCode, int stackHeight, int controlNo, MST_ITEM_2240_V itemInfo);
|
Task<Tray> PrintTrayAsync(string trayCode, int stackHeight, int controlNo, MST_ITEM_2240_V itemInfo);
|
||||||
}
|
}
|
@ -30,7 +30,7 @@ public class TrayService : ITrayService
|
|||||||
{
|
{
|
||||||
var tray = new Tray()
|
var tray = new Tray()
|
||||||
{
|
{
|
||||||
TrayCode =DateTime.Now.ToTimestamp().ToString(),
|
TrayCode = DateTime.Now.ToTimestamp().ToString(),
|
||||||
VarietyId = varietyId,
|
VarietyId = varietyId,
|
||||||
CreateTime = DateTime.Now
|
CreateTime = DateTime.Now
|
||||||
};
|
};
|
||||||
@ -47,13 +47,11 @@ public class TrayService : ITrayService
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
return _cache[code].Id;
|
return _cache[code].Id;
|
||||||
|
|
||||||
}
|
}
|
||||||
catch
|
catch
|
||||||
{
|
{
|
||||||
return (await _repository.GetFirstAsync(d => d.TrayCode == code)).Id;
|
return (await _repository.GetFirstAsync(d => d.TrayCode == code)).Id;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<Tray> GetByCode(string code)
|
public async Task<Tray> GetByCode(string code)
|
||||||
@ -66,7 +64,7 @@ public class TrayService : ITrayService
|
|||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task PrintTrayAsync(string trayCode, int stackHeight, int controlNo, MST_ITEM_2240_V itemInfo)
|
public async Task<Tray> PrintTrayAsync(string trayCode, int stackHeight, int controlNo, MST_ITEM_2240_V itemInfo)
|
||||||
{
|
{
|
||||||
Tray tray;
|
Tray tray;
|
||||||
try
|
try
|
||||||
@ -87,12 +85,14 @@ public class TrayService : ITrayService
|
|||||||
tray.Unit = itemInfo.UNIT;
|
tray.Unit = itemInfo.UNIT;
|
||||||
tray.NetWeight = itemInfo.NET_WEIGHT;
|
tray.NetWeight = itemInfo.NET_WEIGHT;
|
||||||
tray.GrossWeight = itemInfo.GROSS_WEIGHT;
|
tray.GrossWeight = itemInfo.GROSS_WEIGHT;
|
||||||
|
tray.Barcode =
|
||||||
|
$"{itemInfo.ITEM_CODE} {DateTime.Now:yyMMdd}00{controlNo.ToString().PadLeft(4, '0')}{itemInfo.LOTNO.PadLeft(4, '0')}0";
|
||||||
await _repository.UpdateAsync(tray.ToEntity());
|
await _repository.UpdateAsync(tray.ToEntity());
|
||||||
_cache.Remove(tray.TrayCode, out _);
|
_cache.Remove(tray.TrayCode, out _);
|
||||||
|
return tray;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task StorageAsync(string trayCode)
|
public async Task StorageAsync(string trayCode)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -10,6 +10,7 @@ using Seyounth.Hyosung.Data.Models;
|
|||||||
using Seyounth.Hyosung.Data.Models.Plc;
|
using Seyounth.Hyosung.Data.Models.Plc;
|
||||||
using Seyounth.Hyosung.Data.Services;
|
using Seyounth.Hyosung.Data.Services;
|
||||||
using Seyounth.Hyosung.Data.Services.Hyosung;
|
using Seyounth.Hyosung.Data.Services.Hyosung;
|
||||||
|
using Seyounth.Hyosung.Data.Services.Hyosung.Entities;
|
||||||
using Seyounth.Hyosung.Runtime.Models;
|
using Seyounth.Hyosung.Runtime.Models;
|
||||||
|
|
||||||
namespace Seyounth.Hyosung.Runtime;
|
namespace Seyounth.Hyosung.Runtime;
|
||||||
@ -297,7 +298,7 @@ public class HyosungRuntime(
|
|||||||
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);
|
tray = await trayService.PrintTrayAsync(trayCode, height, controlNo, mod);
|
||||||
if (arg1 == 1)
|
if (arg1 == 1)
|
||||||
{
|
{
|
||||||
await printer.PrintAsync(1, trayCode);
|
await printer.PrintAsync(1, trayCode);
|
||||||
@ -311,11 +312,12 @@ public class HyosungRuntime(
|
|||||||
|
|
||||||
|
|
||||||
await hyosungWmsService.UpdateControlNo(variety, controlNo);
|
await hyosungWmsService.UpdateControlNo(variety, controlNo);
|
||||||
|
await hyosungWmsService.AddLabelResult(new LabelResult(tray, variety));
|
||||||
logger.LogInformation($"plc request print label success");
|
logger.LogInformation($"plc request print label success");
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
await hyosungPlcService.WritePrintLabelResultAsync(arg1, 1,false);
|
await hyosungPlcService.WritePrintLabelResultAsync(arg1, 1, false);
|
||||||
logger.LogError(e, "print label fail");
|
logger.LogError(e, "print label fail");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user