This commit is contained in:
tongfei
2024-04-16 11:53:45 +08:00
7 changed files with 92 additions and 10 deletions

View File

@@ -5,14 +5,14 @@ WORKDIR /app
# <20><><EFBFBD><EFBFBD>apt<70><74><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD><EFBFBD>ð<EFBFBD><C3B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD>ֿ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>debian 10 buster<65>
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
#<23><>װapt-get <20><>װ libc6-dev , libgdiplus <20><><EFBFBD><EFBFBD>֧<EFBFBD><D6A7>system.drawing <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><C4AC>ubuntu<74><75><EFBFBD><EFBFBD>
RUN apt-get update -qq && apt-get -y install libgdiplus libc6-dev

View File

@@ -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

View File

@@ -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<AppOptions> 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<int> { 14321 });
await _outStockRepositories.GetEntityListBySerialNumbers(new List<string>() { "131VU-32C5A" });
//await _outStockRepositories.GetEntityListByBoxBillNos(new List<string>() { "CTN0002187" });
//list[0].Details[0].ErpDetails[0].AccruedQty = 2;
//list[0].Details[0].ErpDetails.Add(new OutStockTaskErpDetails()
//{

View File

@@ -3206,6 +3206,12 @@
<member name="M:WMS.Web.Domain.Infrastructure.IOutStockRepositories.EditEntityList(System.Collections.Generic.List{WMS.Web.Domain.Entitys.OutStock},System.Boolean)">
修改实体集合
</member>
<member name="M:WMS.Web.Domain.Infrastructure.IOutStockRepositories.GetEntityListBySerialNumbers(System.Collections.Generic.List{System.String})">
根据出库序列码搜索
</member>
<member name="M:WMS.Web.Domain.Infrastructure.IOutStockRepositories.GetEntityListByBoxBillNos(System.Collections.Generic.List{System.String})">
根据出库箱号搜索
</member>
<member name="M:WMS.Web.Domain.Infrastructure.IOutStockTaskRepositories.AddRange(System.Collections.Generic.List{WMS.Web.Domain.Entitys.OutStockTask},System.Boolean)">
<summary>
批量添加

View File

@@ -26,5 +26,10 @@ namespace WMS.Web.Domain.Infrastructure
Task<OutStockInfoResponse> GetInfo(int id);
//获取出库单明细
Task<List<BoxDetailResponse>> GetDetailsByBoxId(int boxId);
/// 根据出库序列码搜索
Task<List<OutStock>> GetEntityListBySerialNumbers(List<string> serialNumbers);
/// 根据出库箱号搜索
Task<List<OutStock>> GetEntityListByBoxBillNos(List<string> boxBillNos);
}
}

View File

@@ -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;
}
/// <summary>
/// 根据序列号搜索
/// </summary>
/// <param name="serialNumbers"></param>
/// <returns></returns>
public Task<List<OutStock>> GetEntityListBySerialNumbers(List<string> serialNumbers)
{
if (serialNumbers.Count() == 0) Task.FromResult(new List<OutStock>());
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<OutStock>().FromSqlInterpolated(fs).ToList();
return Task.FromResult(list);
}
/// <summary>
/// 根据箱号搜索
/// </summary>
/// <param name="boxBillNos"></param>
/// <returns></returns>
public async Task<List<OutStock>> GetEntityListByBoxBillNos(List<string> boxBillNos)
{
var boxIds = await _context.Box.Where(w => boxBillNos.Contains(w.BoxBillNo)).Select(s => s.Id).ToListAsync();
if (boxIds.Count() == 0) return new List<OutStock>();
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;
}
}
}

View File

@@ -34,9 +34,11 @@ namespace WMS.Web.Repositories
private readonly IErpService _erpService;
private readonly IErpBasicDataExtendService _erpBasicDataExtendService;
private readonly ILogger<OutStockTaskRepositories> _logger;
private readonly IOutStockRepositories _outStockRepositories;
public OutStockTaskRepositories(RepositoryDbContext context, IMapper mapper, IServiceProvider serviceProvider,
ISingleDataService singleDataService, ILoginRepositories loginRepositories, IErpService erpService,
IErpBasicDataExtendService erpBasicDataExtendService, ILogger<OutStockTaskRepositories> logger)
IErpBasicDataExtendService erpBasicDataExtendService, ILogger<OutStockTaskRepositories> logger,
IOutStockRepositories outStockRepositories)
{
_context = context;
_mapper = mapper;
@@ -46,6 +48,8 @@ namespace WMS.Web.Repositories
_erpService = erpService;
_erpBasicDataExtendService = erpBasicDataExtendService;
_logger = logger;
_outStockRepositories = outStockRepositories;
}
/// <summary>
/// 新增
@@ -273,6 +277,19 @@ namespace WMS.Web.Repositories
if (customer_result.IsSuccess)
customers = customer_result.Data.ToList();
List<int> taskIds = new List<int>();
//序列码出库单
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()