diff --git a/.vs/WMS.Web/DesignTimeBuild/.dtbcache.v2 b/.vs/WMS.Web/DesignTimeBuild/.dtbcache.v2
index fd87d6f7..4f2c2cc2 100644
Binary files a/.vs/WMS.Web/DesignTimeBuild/.dtbcache.v2 and b/.vs/WMS.Web/DesignTimeBuild/.dtbcache.v2 differ
diff --git a/src/WMS.Web.Domain/Services/ChangeMoveBoxService.cs b/src/WMS.Web.Domain/Services/ChangeMoveBoxService.cs
index a96d9f31..460e5479 100644
--- a/src/WMS.Web.Domain/Services/ChangeMoveBoxService.cs
+++ b/src/WMS.Web.Domain/Services/ChangeMoveBoxService.cs
@@ -82,7 +82,7 @@ namespace WMS.Web.Domain.Services
//if (d.DestBoxBillNo.Substring(0, 3) != "CTN")
// return Result.ReFailure(ResultCodes.BoxBillNoError);
- var res = await CreateBox(d);
+ var res = await CreateBox(dto);
if (!res.IsSuccess) return res;
dBox = await _boxRepositories.GetByNo(d.DestBoxBillNo);
dto.ForEach(f => f.DestBoxId = dBox.Id);
@@ -240,22 +240,28 @@ namespace WMS.Web.Domain.Services
///
///
///
- private async Task CreateBox(SaveChangeBoxRecordRequest dto)
+ private async Task CreateBox(List dto)
{
//增加一个空箱子
List list = new List();
- OpsBoxResponse response = new OpsBoxResponse() { BoxBillNo = dto.DestBoxBillNo };
- foreach (var d in dto.Details)
+ OpsBoxResponse response = new OpsBoxResponse() { BoxBillNo = dto.First().DestBoxBillNo };
+
+ var details = dto.SelectMany(s => s.Details);
+ var materialNumberList= details.GroupBy(g => g.MaterialNumber).Select(s => s.Key).ToList();
+
+ foreach (var m in materialNumberList)
{
+ var qty = details.Where(w => w.MaterialNumber.Equals(m)).Sum(s => s.Qty);
+ var serialNumbers = details.Where(w => w.MaterialNumber.Equals(m)).SelectMany(s => s.SerialNumbers);
List s = new List();
- foreach (var sd in d.SerialNumbers)
+ foreach (var sd in serialNumbers)
{
s.Add(new OpsSerialNumbersResponse() { SerialNumber = sd });
}
OpsBoxDetailsResponse dr = new OpsBoxDetailsResponse()
{
- MaterialNumber = d.MaterialNumber,
- Qty = d.Qty,
+ MaterialNumber = m,
+ Qty = qty,
SerialNumbers = s
};
response.Details.Add(dr);