From 098150fcf370ef88c60c46a75b57709578db371e Mon Sep 17 00:00:00 2001 From: 18942506660 <18942506660@A18942506660> Date: Wed, 27 Mar 2024 10:34:26 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=80=81ops=E6=95=B0?= =?UTF-8?q?=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SerialNumbersRepositories.cs | 58 +++++++++++++++++-- 1 file changed, 54 insertions(+), 4 deletions(-) diff --git a/src/WMS.Web.Repositories/SerialNumbersRepositories.cs b/src/WMS.Web.Repositories/SerialNumbersRepositories.cs index 52e3ab3c..8403dfe3 100644 --- a/src/WMS.Web.Repositories/SerialNumbersRepositories.cs +++ b/src/WMS.Web.Repositories/SerialNumbersRepositories.cs @@ -124,7 +124,15 @@ namespace WMS.Web.Repositories var s = await _context.SerialNumbers .FirstOrDefaultAsync(f => serialNumber.Equals(f.SerialNumber)); - if (s == null) return null; + if (s == null) + { + var so = await _context.SerialNumbers_Ops + .FirstOrDefaultAsync(f => serialNumber.Equals(f.SerialNumber)); + if (so == null) + return null; + else + s = _mapper.Map(so); + } SerialNumbersResponse respone = new SerialNumbersResponse() { MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, s.MaterialNumber), @@ -157,8 +165,22 @@ namespace WMS.Web.Repositories var res = await _context.SerialNumbers .Where(f => serialNumbers.Contains(f.SerialNumber)) .ToListAsync(); + var res_c = res.Clone(); - return res.Clone(); + var s_e = res.Select(s => s.SerialNumber).ToList(); + //在序列表里没找到的序列码 则到老ops序列码数据里去处理 list比较 取差集 + var s_c = serialNumbers.Except(s_e); + if (s_c.Count() > 0) + { + var entitys_ops = serialNumbers.Where(w => s_c.Contains(w)).ToList(); + var r_o = await _context.SerialNumbers_Ops + .Where(f => serialNumbers.Contains(f.SerialNumber)) + .ToListAsync(); + + res_c.AddRange(_mapper.Map>(r_o.Clone())); + } + + return res_c; } public async Task> GetEntityListByBoxId(int boxId) @@ -166,8 +188,15 @@ namespace WMS.Web.Repositories var res = await _context.SerialNumbers .Where(f => f.BoxId == boxId) .ToListAsync(); + var res_c = res.Clone(); - return res.Clone(); + var r_o = await _context.SerialNumbers_Ops + .Where(f => f.BoxId == boxId) + .ToListAsync(); + if (r_o.Count() > 0) + res_c.AddRange(_mapper.Map>(r_o.Clone())); + + return res_c; } /// /// 根据箱Ids查询集合 @@ -179,8 +208,15 @@ namespace WMS.Web.Repositories var res = await _context.SerialNumbers .Where(f => boxIds.Contains(f.BoxId)) .ToListAsync(); + var res_c = res.Clone(); - return res.Clone(); + var r_o = await _context.SerialNumbers_Ops + .Where(f => boxIds.Contains(f.BoxId)) + .ToListAsync(); + if (r_o.Count() > 0) + res_c.AddRange(_mapper.Map>(r_o.Clone())); + + return res_c; } /// @@ -301,5 +337,19 @@ namespace WMS.Web.Repositories } return true; } + + /// + /// 根据序列号查询老ops + /// + /// + /// + public async Task> GetEntityList_Ops(List serialNumbers) + { + var res = await _context.SerialNumbers_Ops + .Where(f => serialNumbers.Contains(f.SerialNumber)) + .ToListAsync(); + + return _mapper.Map>(res.Clone()); + } } }