From 69de798d88449aefd03e383084c335adad3acc6b Mon Sep 17 00:00:00 2001 From: 18942506660 <18942506660@A18942506660> Date: Tue, 16 Apr 2024 09:35:37 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=90=9C=E7=B4=A2?= =?UTF-8?q?=E6=9D=A1=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/WMS.Web.Api/Controllers/TestController.cs | 8 +++- src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml | 6 +++ .../Infrastructure/IOutStockRepositories.cs | 5 +++ .../OutStockRepositories.cs | 37 +++++++++++++++++++ .../OutStockTaskRepositories.cs | 23 +++++++++++- 5 files changed, 77 insertions(+), 2 deletions(-) diff --git a/src/WMS.Web.Api/Controllers/TestController.cs b/src/WMS.Web.Api/Controllers/TestController.cs index 781073de..9079bd37 100644 --- a/src/WMS.Web.Api/Controllers/TestController.cs +++ b/src/WMS.Web.Api/Controllers/TestController.cs @@ -39,6 +39,7 @@ namespace WMS.Web.Api.Controllers private readonly IOpsService _opsService; private readonly IBoxService _boxService; private readonly IOutStockTaskRepositories _outStockTaskRepositories; + private readonly IOutStockRepositories _outStockRepositories; private readonly IOutStockTaskService _outStockTaskService; private readonly IBoxInventoryRepositories _boxInventoryRepositories; private readonly ITakeStockService _takeStockService; @@ -55,7 +56,7 @@ namespace WMS.Web.Api.Controllers IBasicsRepositories transactionRepositories, IOpsService opsService, IBoxService boxService, IBasicsRepositories basicsRepositories, IMemoryCache memoryCache, IOutStockTaskRepositories outStockTaskRepositories, IOutStockTaskService outStockTaskService, IOptions options, ILoginService loginService, ISendMessageService sendMessageService, ITakeStockService takeStockService, ITakeStockRepositories takeStockRepositories, IOutStockService outStockService, IInStockTaskRepositories inStockTaskRepositories, - IWebHostEnvironment env, IMaterialService materialService) + IWebHostEnvironment env, IMaterialService materialService, IOutStockRepositories outStockRepositories) { _memoryCache = memoryCache; _materialService = materialService; @@ -75,6 +76,7 @@ namespace WMS.Web.Api.Controllers _takeStockService = takeStockService; _takeStockRepositories = takeStockRepositories; _outStockService = outStockService; + _outStockRepositories = outStockRepositories; _env = env; } @@ -84,6 +86,10 @@ namespace WMS.Web.Api.Controllers { //var list = await _outStockTaskRepositories.GetEntityList(new List { 14321 }); + //await _outStockRepositories.GetEntityListBySerialNumbers(new List() { "131L0" }); + //await _outStockRepositories.GetEntityListByBoxBillNos(new List() { "CTN0002187" }); + + //list[0].Details[0].ErpDetails[0].AccruedQty = 2; //list[0].Details[0].ErpDetails.Add(new OutStockTaskErpDetails() //{ diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml index f1ba02cb..a480fb38 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml @@ -3206,6 +3206,12 @@ 修改实体集合 + + 根据出库序列码搜索 + + + 根据出库箱号搜索 + 批量添加 diff --git a/src/WMS.Web.Domain/Infrastructure/IOutStockRepositories.cs b/src/WMS.Web.Domain/Infrastructure/IOutStockRepositories.cs index 308df288..a994bc5a 100644 --- a/src/WMS.Web.Domain/Infrastructure/IOutStockRepositories.cs +++ b/src/WMS.Web.Domain/Infrastructure/IOutStockRepositories.cs @@ -26,5 +26,10 @@ namespace WMS.Web.Domain.Infrastructure Task GetInfo(int id); //获取出库单明细 Task> GetDetailsByBoxId(int boxId); + + /// 根据出库序列码搜索 + Task> GetEntityListBySerialNumbers(List serialNumbers); + /// 根据出库箱号搜索 + Task> GetEntityListByBoxBillNos(List boxBillNos); } } diff --git a/src/WMS.Web.Repositories/OutStockRepositories.cs b/src/WMS.Web.Repositories/OutStockRepositories.cs index 8e52bf63..ee98d727 100644 --- a/src/WMS.Web.Repositories/OutStockRepositories.cs +++ b/src/WMS.Web.Repositories/OutStockRepositories.cs @@ -5,6 +5,7 @@ using Microsoft.Extensions.Logging; using System; using System.Collections.Generic; using System.Linq; +using System.Runtime.CompilerServices; using System.Text; using System.Threading.Tasks; using WMS.Web.Core; @@ -373,5 +374,41 @@ namespace WMS.Web.Repositories } return details; } + /// + /// 根据序列号搜索 + /// + /// + /// + public Task> GetEntityListBySerialNumbers(List serialNumbers) + { + if (serialNumbers.Count() == 0) Task.FromResult(new List()); + string str = $"select * from t_wms_outstock where Id in (select Fid from t_wms_outstock_details where "; + for (int i = 0; i < serialNumbers.Count(); i++) + { + if (i == 0) + str += $"SerialNumbers like '%{serialNumbers[i]}%'"; + else + str += $" or SerialNumbers like '%{serialNumbers[i]}%'"; + } + str += ")"; + var fs = FormattableStringFactory.Create(str); + var list = _context.Set().FromSqlInterpolated(fs).ToList(); + return Task.FromResult(list); + } + /// + /// 根据箱号搜索 + /// + /// + /// + public async Task> GetEntityListByBoxBillNos(List boxBillNos) + { + var boxIds = await _context.Box.Where(w => boxBillNos.Contains(w.BoxBillNo)).Select(s => s.Id).ToListAsync(); + if (boxIds.Count() == 0) return new List(); + var res = await _context.OutStock + .Include(s => s.Details).ThenInclude(s => s.BoxsDetails) + .Where(f => f.Details.SelectMany(s=>s.BoxsDetails).Where(wb=> boxIds.Contains(wb.BoxId)).Any()).ToListAsync(); + + return res; + } } } diff --git a/src/WMS.Web.Repositories/OutStockTaskRepositories.cs b/src/WMS.Web.Repositories/OutStockTaskRepositories.cs index a6680b85..d6d9c144 100644 --- a/src/WMS.Web.Repositories/OutStockTaskRepositories.cs +++ b/src/WMS.Web.Repositories/OutStockTaskRepositories.cs @@ -34,9 +34,11 @@ namespace WMS.Web.Repositories private readonly IErpService _erpService; private readonly IErpBasicDataExtendService _erpBasicDataExtendService; private readonly ILogger _logger; + private readonly IOutStockRepositories _outStockRepositories; public OutStockTaskRepositories(RepositoryDbContext context, IMapper mapper, IServiceProvider serviceProvider, ISingleDataService singleDataService, ILoginRepositories loginRepositories, IErpService erpService, - IErpBasicDataExtendService erpBasicDataExtendService, ILogger logger) + IErpBasicDataExtendService erpBasicDataExtendService, ILogger logger, + IOutStockRepositories outStockRepositories) { _context = context; _mapper = mapper; @@ -46,6 +48,8 @@ namespace WMS.Web.Repositories _erpService = erpService; _erpBasicDataExtendService = erpBasicDataExtendService; _logger = logger; + _outStockRepositories = outStockRepositories; + } /// /// 新增 @@ -273,6 +277,19 @@ namespace WMS.Web.Repositories if (customer_result.IsSuccess) customers = customer_result.Data.ToList(); + List taskIds = new List(); + //序列码出库单 + if (dto.SerialNumbers.Count() > 0) + { + var res = await _outStockRepositories.GetEntityListBySerialNumbers(dto.SerialNumbers); + taskIds.AddRange(res.Select(s => s.TaskId)); + } + //箱号取出库单 + if (dto.BoxBillNos.Count() > 0) + { + var res = await _outStockRepositories.GetEntityListByBoxBillNos(dto.BoxBillNos); + taskIds.AddRange(res.Select(s => s.TaskId)); + } #endregion var query = _context.OutStockTaskDetails.Include(x => x.ErpDetails) @@ -315,6 +332,10 @@ namespace WMS.Web.Repositories DateTime dt_end = ((DateTime)dto.CreateEndDate).AddDays(1); query = query.Where(w => w.order.OperateTime <= dt_end); } + if (taskIds.Count() > 0) + { + query = query.Where(w => taskIds.Contains(w.order.Id)); + } //组装 int total = await query.CountAsync(); var list = await query.Select(s => new OutStockTaskQueryInfoResponse() From 2d7f38c863aa59c34df7f8f74820fdd2912596f6 Mon Sep 17 00:00:00 2001 From: 18942506660 <18942506660@A18942506660> Date: Tue, 16 Apr 2024 09:46:01 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/WMS.Web.Api/Controllers/TestController.cs | 2 +- src/WMS.Web.Repositories/OutStockRepositories.cs | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/WMS.Web.Api/Controllers/TestController.cs b/src/WMS.Web.Api/Controllers/TestController.cs index 9079bd37..df4ea8c6 100644 --- a/src/WMS.Web.Api/Controllers/TestController.cs +++ b/src/WMS.Web.Api/Controllers/TestController.cs @@ -86,7 +86,7 @@ namespace WMS.Web.Api.Controllers { //var list = await _outStockTaskRepositories.GetEntityList(new List { 14321 }); - //await _outStockRepositories.GetEntityListBySerialNumbers(new List() { "131L0" }); + await _outStockRepositories.GetEntityListBySerialNumbers(new List() { "131VU-32C5A" }); //await _outStockRepositories.GetEntityListByBoxBillNos(new List() { "CTN0002187" }); diff --git a/src/WMS.Web.Repositories/OutStockRepositories.cs b/src/WMS.Web.Repositories/OutStockRepositories.cs index ee98d727..bf1e71c5 100644 --- a/src/WMS.Web.Repositories/OutStockRepositories.cs +++ b/src/WMS.Web.Repositories/OutStockRepositories.cs @@ -386,9 +386,9 @@ namespace WMS.Web.Repositories for (int i = 0; i < serialNumbers.Count(); i++) { if (i == 0) - str += $"SerialNumbers like '%{serialNumbers[i]}%'"; + str += $"SerialNumbers like '%\"{serialNumbers[i]}\"%'"; else - str += $" or SerialNumbers like '%{serialNumbers[i]}%'"; + str += $" or SerialNumbers like '%\"{serialNumbers[i]}\"%'"; } str += ")"; var fs = FormattableStringFactory.Create(str); From f508150bb0f432bf6614953c6352a9cff4919ad5 Mon Sep 17 00:00:00 2001 From: 18942506660 <18942506660@A18942506660> Date: Tue, 16 Apr 2024 11:45:56 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9dockerfile=E6=BA=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Dockerfile | 16 ++++++++-------- WMS.Web.sln | 7 +++++++ 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/Dockerfile b/Dockerfile index f28f0272..8c8ca7a1 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,14 +5,14 @@ WORKDIR /app # aptԴðԴֿ debian 10 buster汾 RUN mv /etc/apt/sources.list /etc/apt/sources.list.bak && \ - echo "deb http://mirrors.aliyun.com/debian/ buster main non-free contrib" >/etc/apt/sources.list && \ - echo "deb-src http://mirrors.aliyun.com/debian/ buster main non-free contrib" >>/etc/apt/sources.list && \ - echo "deb http://mirrors.aliyun.com/debian-security buster/updates main" >>/etc/apt/sources.list && \ - echo "deb-src http://mirrors.aliyun.com/debian-security buster/updates main" >>/etc/apt/sources.list && \ - echo "deb http://mirrors.aliyun.com/debian/ buster-updates main non-free contrib" >>/etc/apt/sources.list && \ - echo "deb-src http://mirrors.aliyun.com/debian/ buster-updates main non-free contrib" >>/etc/apt/sources.list && \ - echo "deb http://mirrors.aliyun.com/debian/ buster-backports main non-free contrib" >>/etc/apt/sources.list && \ - echo "deb-src http://mirrors.aliyun.com/debian/ buster-backports main non-free contrib" >>/etc/apt/sources.list + echo "deb http://mirrors.cloud.aliyuncs.com/debian/ buster main non-free contrib" >/etc/apt/sources.list && \ + echo "deb-src http://mirrors.cloud.aliyuncs.com/debian/ buster main non-free contrib" >>/etc/apt/sources.list && \ + echo "deb http://mirrors.cloud.aliyuncs.com/debian-security buster/updates main" >>/etc/apt/sources.list && \ + echo "deb-src http://mirrors.cloud.aliyuncs.com/debian-security buster/updates main" >>/etc/apt/sources.list && \ + echo "deb http://mirrors.cloud.aliyuncs.com/debian/ buster-updates main non-free contrib" >>/etc/apt/sources.list && \ + echo "deb-src http://mirrors.cloud.aliyuncs.com/debian/ buster-updates main non-free contrib" >>/etc/apt/sources.list && \ + echo "deb http://mirrors.cloud.aliyuncs.com/debian/ buster-backports main non-free contrib" >>/etc/apt/sources.list && \ + echo "deb-src http://mirrors.cloud.aliyuncs.com/debian/ buster-backports main non-free contrib" >>/etc/apt/sources.list #װapt-get װ libc6-dev , libgdiplus ֧system.drawing ,Ĭubuntu RUN apt-get update -qq && apt-get -y install libgdiplus libc6-dev diff --git a/WMS.Web.sln b/WMS.Web.sln index 3865d87d..2f0bf11f 100644 --- a/WMS.Web.sln +++ b/WMS.Web.sln @@ -11,6 +11,13 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WMS.Web.Domain", "src\WMS.W EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WMS.Web.Repositories", "src\WMS.Web.Repositories\WMS.Web.Repositories.csproj", "{C028C52D-FD52-4710-998C-C3BE120DB61E}" EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "DockerFolder", "DockerFolder", "{E2CA0353-9B67-445E-A944-25744F6C3512}" + ProjectSection(SolutionItems) = preProject + .dockerignore = .dockerignore + .gitignore = .gitignore + Dockerfile = Dockerfile + EndProjectSection +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU