From de6998c6b9e1c3733287706cdeca29ee51e0fa3a Mon Sep 17 00:00:00 2001
From: tongfei <244188119@qq.com>
Date: Sat, 25 Nov 2023 11:52:18 +0800
Subject: [PATCH] =?UTF-8?q?=E9=87=87=E8=B4=AD=E4=B8=8A=E6=9E=B6=E4=BC=98?=
=?UTF-8?q?=E5=8C=96?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml | 5 ++++
.../InStockTask/ContrastMaterialsResponse.cs | 5 ++++
.../Services/BoxInventoryService.cs | 2 +-
src/WMS.Web.Domain/Services/InStockService.cs | 30 ++++++++++++-------
4 files changed, 31 insertions(+), 11 deletions(-)
diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml
index bb2783c4..9798bd35 100644
--- a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml
+++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml
@@ -1295,6 +1295,11 @@
数量
+
+
+ 序列号
+
+
模糊查询来源单据-请求对象
diff --git a/src/WMS.Web.Core/Dto/InStockTask/ContrastMaterialsResponse.cs b/src/WMS.Web.Core/Dto/InStockTask/ContrastMaterialsResponse.cs
index 83413739..b9d21d7d 100644
--- a/src/WMS.Web.Core/Dto/InStockTask/ContrastMaterialsResponse.cs
+++ b/src/WMS.Web.Core/Dto/InStockTask/ContrastMaterialsResponse.cs
@@ -55,5 +55,10 @@ namespace WMS.Web.Core.Dto.InStockTask
/// 数量
///
public decimal Qty { get; set; }
+
+ ///
+ /// 序列号
+ ///
+ public List SerialNumbers { get; set; } = new List();
}
}
diff --git a/src/WMS.Web.Domain/Services/BoxInventoryService.cs b/src/WMS.Web.Domain/Services/BoxInventoryService.cs
index 71f6b454..59660a0c 100644
--- a/src/WMS.Web.Domain/Services/BoxInventoryService.cs
+++ b/src/WMS.Web.Domain/Services/BoxInventoryService.cs
@@ -475,7 +475,7 @@ namespace WMS.Web.Domain.Services
#region 按产品
//3.组装-按产品入库
- var dtoDatas_details_Method_Product = dtoDatas.Where(x => x.Method == InventoryInOutMethod.Box).SelectMany(x => x.Details).ToList();
+ var dtoDatas_details_Method_Product = dtoDatas.Where(x => x.Method == InventoryInOutMethod.Product).SelectMany(x => x.Details).ToList();
var generateDtoList_Metod_Product = dtoDatas_details_Method_Product.GroupBy(x => new { x.BoxId, x.OrgCode, x.StockCode, x.SubStockId })
.Select(x => new BoxInventoryGenerateDto()
{
diff --git a/src/WMS.Web.Domain/Services/InStockService.cs b/src/WMS.Web.Domain/Services/InStockService.cs
index 3704dd36..307ef6c8 100644
--- a/src/WMS.Web.Domain/Services/InStockService.cs
+++ b/src/WMS.Web.Domain/Services/InStockService.cs
@@ -31,6 +31,7 @@ namespace WMS.Web.Domain.Services
private readonly IErpService _erpService;
private readonly ILoginService _loginService;
private readonly ISerialNumberService _serialNumberService;
+ private readonly ISerialNumbersRepositories _serialNumbersRepositories;
private readonly IChangeMoveBoxService _changeMoveBoxService;
private readonly IBoxRepositories _boxRepositories;
private readonly IBoxInventoryService _boxInventoryService;
@@ -38,7 +39,7 @@ namespace WMS.Web.Domain.Services
private readonly IInStockRepositories _inStockRepositories;
private readonly IInStockTaskRepositories _inStockTaskRepositories;
private readonly IErpBasicDataExtendService _erpBasicDataExtendService;
- public InStockService(IMapper mapper, IErpService erpService, IBoxInventoryService boxInventoryService, ISerialNumberService serialNumberService, ILoginService loginService, IBoxRepositories boxRepositories,
+ public InStockService(IMapper mapper, ISerialNumbersRepositories serialNumbersRepositories, IErpService erpService, IBoxInventoryService boxInventoryService, ISerialNumberService serialNumberService, ILoginService loginService, IBoxRepositories boxRepositories,
IBasicsRepositories basicsRepositories, IErpBasicDataExtendService erpBasicDataExtendService, IChangeMoveBoxService changeMoveBoxService,
IInStockRepositories inStockRepositories, IInStockTaskRepositories inStockTaskRepositories)
{
@@ -53,6 +54,7 @@ namespace WMS.Web.Domain.Services
_inStockRepositories = inStockRepositories;
_inStockTaskRepositories = inStockTaskRepositories;
_erpBasicDataExtendService = erpBasicDataExtendService;
+ _serialNumbersRepositories = serialNumbersRepositories;
}
///
@@ -101,13 +103,6 @@ namespace WMS.Web.Domain.Services
//1.添加入库单:(同步金蝶在save方法里面进行)
var save_result = await this.ShelfSave(instock, InstockType.Purchase, loginInfo, isTransaction);
if (!save_result.IsSuccess) isRollback = true;
- {
- //2.修改入库任务单
- var ids = instock.Details.GroupBy(x => x.TaskId).Select(x => x.Key).ToList();
- var result = await this.UpdateRange(ids, loginInfo.UserInfo.StaffId, false, isTransaction);
- if (!result.IsSuccess) isRollback = true;
- }
-
//提交事务
var isSuccess = _basicsRepositories.CommitTransaction(isRollback, _transaction);
if (!isSuccess)
@@ -200,6 +195,20 @@ namespace WMS.Web.Domain.Services
entity.Details = _mapper.Map>(dto.Details);
entity.Create(loginInfo.UserInfo.StaffId);
+
+ //序列号集:箱里面的
+ var serialNumbers = await _serialNumbersRepositories.GetEntityListByBoxIds(dto.Details.GroupBy(x=>x.BoxId).Select(x => x.Key).ToList());
+
+ //赋值序列号
+ entity.Details.ForEach(x =>
+ {
+ var current_box_serNums = serialNumbers.Where(t => t.BoxId == x.BoxId).ToList();
+ if (current_box_serNums != null)
+ {
+ var current_box_mat_serNums = current_box_serNums.Where(t => t.MaterialId == x.MaterialId).Select(t => t.SerialNumber).ToList();
+ x.SerialNumbers.AddRange(current_box_mat_serNums);
+ }
+ });
//需要填写序列号
//需要修改库存
//需要同步金蝶
@@ -219,7 +228,8 @@ namespace WMS.Web.Domain.Services
if (current_dto_det != null)
x.DeliveredQty = current_dto_det.Qty;
});
- task=await _inStockTaskRepositories.Update(task,isTransaction);
+ task.Shelf(loginInfo.UserInfo.StaffId);
+ task =await _inStockTaskRepositories.Update(task,isTransaction);
if(task==null)
return Result.ReFailure(ResultCodes.DateWriteError);
}
@@ -439,7 +449,7 @@ namespace WMS.Web.Domain.Services
r_box.BoxBillNo = box.BoxBillNo;
r_box.BoxId = box.Id;
r_box.TotalCount = box.Details.Sum(x => x.Qty);
- r_box.Details = _mapper.Map>(box.Details);
+ r_box.Details = _mapper.Map>(box.Details);
response.Boxs.Add(r_box);
}
return Result.ReSuccess(response);