using Seyounth.Hyosung.Data.Models; using Seyounth.Hyosung.Data.Services.Hyosung.Entities; using SqlSugar; namespace Seyounth.Hyosung.Data.Services.Hyosung; public class HyosungWmsService : IHyosungWmsService { private ISqlSugarClient _db = new SqlSugarClient(new ConnectionConfig { DbType = DbType.SqlServer, ConnectionString = $"Data Source=192.168.2.11;User Id=TY_ACP;Password=ty@_acp20y;database=HSWMS;Encrypt=True;TrustServerCertificate=True;Pooling=true;Min Pool Size=1", IsAutoCloseConnection = true, }); public async Task GetControlNo(Variety variety, string grade) { if (grade == "AA") grade = "1"; var checkCode = $"02025{grade}{variety.Lot.ToString().Substring(1, 3)}"; var x = await _db.Queryable().Where(x => x.BeId == "2240" && x.ItemCode == variety.Code && x.CheckCode == checkCode).FirstAsync(); if (x?.LastNo is null) return 1; return x.LastNo.Value + 1; } public async Task GetItemInfoByItemCode(string itemCode) { return await _db.Queryable() .FirstAsync(t => t.ITEM_CODE == itemCode); } public async Task UpdateControlNo(Variety variety, int controlNo) { var checkCode = $"02025{variety.Lot}"; if (controlNo is 1) { var entity = new MST_BOXNO_SEQ_NON_DATE() { BeId = "2240", CheckCode = checkCode, LastNo = 1, CreatedBy = "seyounth", CreatedTime = DateTime.Now, ModifiedBy = "seyounth", ModifiedTime = DateTime.Now, ItemCode = variety.Code }; await _db.Insertable(entity).ExecuteCommandAsync(); } else { await _db.Updateable() .SetColumns(i => i.LastNo == controlNo && i.ModifiedTime == DateTime.Now && i.ModifiedBy == "seyounth") .Where(i => i.BeId == "2240" && i.ItemCode == variety.Code && i.CheckCode == checkCode).ExecuteCommandAsync(); } } public async Task GetLabelResult(string itemCode, string lot, int controlNo) { string code = $"{itemCode.Trim()} {DateTime.Now.AddDays(0):yyMMdd}"; string code2 = $"{lot.Trim()}{controlNo.ToString().PadLeft(4, '0')}0"; // 使用 SqlSugar 进行查询 return await _db.Queryable() .Where(x => x.BAR_CODE.Substring(0, 24) == code && x.BAR_CODE.Substring(x.BAR_CODE.Length - 9, 9) == code2 && x.BE_ID == 2240 ) .FirstAsync(); } }