diff --git a/src/WMS.Web.Domain/Infrastructure/IInStockRepositories.cs b/src/WMS.Web.Domain/Infrastructure/IInStockRepositories.cs
index f65f15eb..b0520fa9 100644
--- a/src/WMS.Web.Domain/Infrastructure/IInStockRepositories.cs
+++ b/src/WMS.Web.Domain/Infrastructure/IInStockRepositories.cs
@@ -82,6 +82,9 @@ namespace WMS.Web.Domain.Infrastructure
///
Task> GetInstockBox(int taskId);
+
+ Task> GetInstockBoxDetailsByBoxId(List ids);
+
///
/// 获取最新的erp明细
///
diff --git a/src/WMS.Web.Domain/Services/OutStockTaskService.cs b/src/WMS.Web.Domain/Services/OutStockTaskService.cs
index d6fa54a0..922948fc 100644
--- a/src/WMS.Web.Domain/Services/OutStockTaskService.cs
+++ b/src/WMS.Web.Domain/Services/OutStockTaskService.cs
@@ -18,6 +18,7 @@ using WMS.Web.Core.Dto.Erp.Org;
using WMS.Web.Core.Dto.Erp.OutStock;
using WMS.Web.Core.Dto.Login;
using WMS.Web.Core.Dto.OutStockTask;
+using WMS.Web.Core.Dto.InStockTask;
using WMS.Web.Core.Help;
using WMS.Web.Core.Internal.Results;
using WMS.Web.Domain.Entitys;
@@ -41,20 +42,22 @@ namespace WMS.Web.Domain.Services
private readonly IBasicsRepositories _transactionRepositories;
private IOutStockRepositories _outStockRepositories;
private IOutStockTaskRepositories _outStockTaskRepositories;
+ private IInStockTaskRepositories _inStockTaskRepositories;
private readonly IErpOpsSyncDateRepositories _erpOpsSyncDateRepositories;
private readonly RedisClientService _redisClientService;
private readonly IErpBasicDataExtendService _erpBasicDataExtendService;
private readonly ISingleDataService _singleDataService;
private IBoxRepositories _boxRepositories;
+ private IInStockRepositories _inStockRepositories;
private readonly IExportExcelService _exportExcelService;
private readonly IServiceScopeFactory _serviceScopeFactory;
private readonly ILogger _logger;
public OutStockTaskService(IMapper mapper, IErpService erpService, ILoginService loginService,
IBasicsRepositories transactionRepositories,
- IOutStockRepositories outStockRepositories, IOutStockTaskRepositories outStockTaskRepositories, IErpOpsSyncDateRepositories erpOpsSyncDateRepositories,
+ IOutStockRepositories outStockRepositories, IOutStockTaskRepositories outStockTaskRepositories, IInStockTaskRepositories inStockTaskRepositories, IErpOpsSyncDateRepositories erpOpsSyncDateRepositories,
RedisClientService redisClientService, IErpBasicDataExtendService erpBasicDataExtendService,
- ISingleDataService singleDataService, IBoxRepositories boxRepositories, IExportExcelService exportExcelService, IServiceScopeFactory serviceScopeFactory,
+ ISingleDataService singleDataService, IBoxRepositories boxRepositories, IInStockRepositories inStockRepositories, IExportExcelService exportExcelService, IServiceScopeFactory serviceScopeFactory,
ILogger logger)
{
_mapper = mapper;
@@ -63,11 +66,13 @@ namespace WMS.Web.Domain.Services
_transactionRepositories = transactionRepositories;
_outStockRepositories = outStockRepositories;
_outStockTaskRepositories = outStockTaskRepositories;
+ _inStockTaskRepositories = inStockTaskRepositories;
_erpOpsSyncDateRepositories = erpOpsSyncDateRepositories;
_redisClientService = redisClientService;
_erpBasicDataExtendService = erpBasicDataExtendService;
_singleDataService = singleDataService;
_boxRepositories = boxRepositories;
+ _inStockRepositories = inStockRepositories;
_exportExcelService = exportExcelService;
_serviceScopeFactory = serviceScopeFactory;
_logger = logger;
@@ -599,6 +604,7 @@ namespace WMS.Web.Domain.Services
_outStockRepositories = scope.ServiceProvider.GetRequiredService();
_erpService = scope.ServiceProvider.GetRequiredService();
_boxRepositories = scope.ServiceProvider.GetRequiredService();
+ _inStockRepositories = scope.ServiceProvider.GetRequiredService();
}
var entity = await _outStockTaskRepositories.Get(id);
@@ -607,6 +613,9 @@ namespace WMS.Web.Domain.Services
//获取任务单对应出库信息
var outStockList = await _outStockRepositories.GetByTaskId(id);
+
+
+
//取组织
var org_result = await _erpService.BillQueryForOrg();
List orgs = new List();
@@ -628,10 +637,7 @@ namespace WMS.Web.Domain.Services
if (customer_result.IsSuccess)
customers = customer_result.Data.ToList();
- var materials_result = await _erpService.BillQueryForMaterial();
- List materials = new List();
- if (materials_result.IsSuccess)
- materials = materials_result.Data.ToList();
+
OutStockTaskInfoResponse response = new OutStockTaskInfoResponse()
{
@@ -650,11 +656,24 @@ namespace WMS.Web.Domain.Services
var details = outStockList.SelectMany(s => s.Details).ToList();
var boxDetails = outStockList.SelectMany(s => s.Details).SelectMany(s => s.BoxsDetails).ToList();
var boxList = await _boxRepositories.GetEntityList(boxDetails.Select(s => s.BoxId).ToList());
+ //取得对应入库
+ var inStockList= await _inStockRepositories.GetListBy(boxDetails.Select(s => s.BoxId).ToList());
+
+
+ var materials_result = await _erpService.BillQueryForMaterial();
+ List materials = new List();
+ if (materials_result.IsSuccess)
+ materials = materials_result.Data.ToList();
foreach (var b in boxDetails)
{
var detail = details.FirstOrDefault(f => f.Id == b.DetailId);
var outStock = outStockList.FirstOrDefault(f => f.Id == detail.Fid);
+ // var inStock= inStockList.FirstOrDefault(f=>f.)
+// var inStockList = await _inStockRepositories.GetInstockBoxDetailsByBoxId(b.BoxId);
+ //获取箱子对应入库信息
+
+
var m = materials.FirstOrDefault(f => f.MaterialNumber.Equals(detail.MaterialNumber));
//var postionList = await _boxRepositories.Getuc_warehouse_position(boxDetails.Select(s => s.SubStockCode).ToList());
@@ -669,8 +688,8 @@ namespace WMS.Web.Domain.Services
BoxHigh = b.BoxHigh,
BoxWeight = b.BoxWeight,
Qty = b.Qty,
- position_code = b.SubStockCode,
- position = _singleDataService.GetSingleData(SingleAction.SubStocksJoinOrgCode, loginInfo.UserInfo.CompanyId, b.SubStockCode+outStock.StockCode + outStock.OrgCode),
+ position_code = inStockList.FirstOrDefault(f => f.Details.Where(w => detail.BoxsDetails.Select(s => s.BoxId).Contains(w.BoxId)).Any())?.SubStockCode ?? "",//b.SubStockCode,
+ position = _singleDataService.GetSingleData(SingleAction.SubStocksJoinOrgCode, loginInfo.UserInfo.CompanyId, (inStockList.FirstOrDefault(f => f.Details.Where(w => detail.BoxsDetails.Select(s => s.BoxId).Contains(w.BoxId)).Any())?.SubStockCode ?? "") + outStock.StockCode + outStock.OrgCode),
//shelfSpace = _singleDataService.GetSingleData(SingleAction.SubStocksJoinOrgCode, loginInfo.UserInfo.CompanyId, x.order.SubStockCode + x.order.StockCode + x.order.OrgCode),
// position = postionList.FirstOrDefault(f=>f.position_code==b.SubStockCode)?.position??"",
SerialNumbers = string.Join(",", b.SerialNumbers),
diff --git a/src/WMS.Web.Repositories/InStockRepositories.cs b/src/WMS.Web.Repositories/InStockRepositories.cs
index b9f5afa6..25c3f963 100644
--- a/src/WMS.Web.Repositories/InStockRepositories.cs
+++ b/src/WMS.Web.Repositories/InStockRepositories.cs
@@ -290,6 +290,24 @@ namespace WMS.Web.Repositories
return await _context.InStockDetails.Where(x => x.TaskId == taskId).Select(x => x.BoxId).ToListAsync();
}
+ ///
+ /// 根据任务单Id获取
+ ///
+ ///
+ ///
+ public async Task> GetInstockBoxDetailsByBoxId(List ids)
+ {
+ var res = await _context.Instock
+ .Include(s => s.Details)
+ .Where(x => ids.Contains(x.Id))
+ .ToListAsync();
+
+ return res.Clone();
+
+
+ }
+
+
///
/// 列表-分页
///
diff --git a/src/WMS.Web.Repositories/InStockTaskRepositories.cs b/src/WMS.Web.Repositories/InStockTaskRepositories.cs
index 5ae038f9..0b6493c1 100644
--- a/src/WMS.Web.Repositories/InStockTaskRepositories.cs
+++ b/src/WMS.Web.Repositories/InStockTaskRepositories.cs
@@ -211,8 +211,8 @@ namespace WMS.Web.Repositories
shelfSpace = _singleDataService.GetSingleData(SingleAction.SubStocksJoinOrgCode, companyId, x.order.SubStockCode + x.order.StockCode + x.order.OrgCode),
//shelfSpace = _boxRepositories.Getuc_warehouse_position(postionList, x.order.SubStockCode),
Shelfer = _singleDataService.GetSingleData(SingleAction.Staffs, companyId, x.order.CreatorId),
- Receiver = "",
- ReceiveTime = "",
+ Receiver = _singleDataService.GetSingleData(SingleAction.Staffs, companyId, x.order.CreatorId),
+ ReceiveTime = x.order.CreateTime.ToString("yyyy-MM-dd HH:mm:ss"),
SerialNumbers = (string.Join(",", x.detail.SerialNumbers).TrimEnd(','))
}).ToListAsync();