加快装箱速度
This commit is contained in:
@@ -621,6 +621,11 @@
|
|||||||
序列号
|
序列号
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="P:BarCode.Web.Core.Dto.Box.SaveBoxDetailsRequest.TwoSerialNumber">
|
||||||
|
<summary>
|
||||||
|
第二件装
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
<member name="T:BarCode.Web.Core.Dto.Box.SaveBoxRequest">
|
<member name="T:BarCode.Web.Core.Dto.Box.SaveBoxRequest">
|
||||||
<summary>
|
<summary>
|
||||||
保存箱信息(装箱保存,完成装箱)
|
保存箱信息(装箱保存,完成装箱)
|
||||||
|
|||||||
@@ -22,5 +22,10 @@ namespace BarCode.Web.Core.Dto.Box
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
[Required(ErrorMessage = "序列号不能为空")]
|
[Required(ErrorMessage = "序列号不能为空")]
|
||||||
public string SerialNumber { get; set; } = string.Empty;
|
public string SerialNumber { get; set; } = string.Empty;
|
||||||
|
/// <summary>
|
||||||
|
/// 第二件装
|
||||||
|
/// </summary>
|
||||||
|
public string TwoSerialNumber { get; set; } = string.Empty;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -105,7 +105,15 @@ namespace BarCode.Web.Domain.Services
|
|||||||
dto.Details = dto.Details.Distinct().ToList();
|
dto.Details = dto.Details.Distinct().ToList();
|
||||||
var sAll = dto.Details.Select(s => s.SerialNumber).ToList();
|
var sAll = dto.Details.Select(s => s.SerialNumber).ToList();
|
||||||
var serialNumberList = await _serialNumbersRepositories.GetEntityListContainNumber(sAll);
|
var serialNumberList = await _serialNumbersRepositories.GetEntityListContainNumber(sAll);
|
||||||
List<SerialNumbers> serialList;
|
// List<SerialNumbers> serialList;
|
||||||
|
|
||||||
|
//两件装
|
||||||
|
var sAllTwo = dto.Details.Select(s => s.TwoSerialNumber).ToList();
|
||||||
|
sAllTwo.RemoveAll(string.IsNullOrEmpty);
|
||||||
|
var serialNumberListTwo = await _serialNumbersRepositories.GetEntityListContainNumber(sAllTwo);
|
||||||
|
// List<SerialNumbers> serialListTwo;
|
||||||
|
|
||||||
|
|
||||||
if (serialNumberList.Count() != sAll.Count())
|
if (serialNumberList.Count() != sAll.Count())
|
||||||
return Result.ReFailure(ResultCodes.SerialNumberNoDateError);
|
return Result.ReFailure(ResultCodes.SerialNumberNoDateError);
|
||||||
if (serialNumberList.Where(w => w.BoxId != 0 || w.IsUse == true).Any())
|
if (serialNumberList.Where(w => w.BoxId != 0 || w.IsUse == true).Any())
|
||||||
@@ -127,23 +135,40 @@ namespace BarCode.Web.Domain.Services
|
|||||||
s.Clear();
|
s.Clear();
|
||||||
var detail = box.Details.FirstOrDefault(f => f.MaterialNumber.Equals(m));
|
var detail = box.Details.FirstOrDefault(f => f.MaterialNumber.Equals(m));
|
||||||
var serialNumbers = dto.Details.Where(w => w.MaterialNumber.Equals(m)).Select(s => s.SerialNumber).ToList();
|
var serialNumbers = dto.Details.Where(w => w.MaterialNumber.Equals(m)).Select(s => s.SerialNumber).ToList();
|
||||||
for(int i=0;i<serialNumbers.Count;i++)
|
var serialNumbersTwo = dto.Details.Where(w => w.MaterialNumber.Equals(m)).Select(s => s.TwoSerialNumber).ToList();
|
||||||
|
var intCount = serialNumbers.Count();
|
||||||
|
s = serialNumbers;
|
||||||
|
serialNumbersTwo.RemoveAll(string.IsNullOrEmpty);
|
||||||
|
if (serialNumbersTwo != null)
|
||||||
{
|
{
|
||||||
//跟据serialNumbers 取得对应的serialNumber
|
for(int i = 0; i < serialNumbersTwo.Count; i++)
|
||||||
var serialList2 = await _serialNumbersRepositories.GetEntityListBySuitNumber(serialNumbers[i]);
|
|
||||||
for (int j = 0; j < serialList2.Count; j++)
|
|
||||||
{
|
{
|
||||||
s.Add( serialList2[j].SerialNumber);
|
s.Add(serialNumbersTwo[i]);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
s.OrderDescending();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//for(int i=0;i<serialNumbers.Count;i++)
|
||||||
|
//{
|
||||||
|
// //跟据serialNumbers 取得对应的serialNumber
|
||||||
|
// var serialList2 = await _serialNumbersRepositories.GetEntityListBySuitNumber(serialNumbers[i]);
|
||||||
|
// for (int j = 0; j < serialList2.Count; j++)
|
||||||
|
// {
|
||||||
|
// s.Add( serialList2[j].SerialNumber);
|
||||||
|
// }
|
||||||
|
|
||||||
|
//}
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
if (detail == null)
|
if (detail == null)
|
||||||
{
|
{
|
||||||
detail = new BoxDetails()
|
detail = new BoxDetails()
|
||||||
{
|
{
|
||||||
MaterialNumber = m,
|
MaterialNumber = m,
|
||||||
Qty = serialNumbers.Count(),
|
// Qty = serialNumbers.Count(),
|
||||||
|
Qty = intCount,
|
||||||
// SerialNumbers = serialNumbers
|
// SerialNumbers = serialNumbers
|
||||||
SerialNumbers = s
|
SerialNumbers = s
|
||||||
};
|
};
|
||||||
@@ -151,8 +176,12 @@ namespace BarCode.Web.Domain.Services
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
detail.Qty += serialNumbers.Count();
|
//detail.Qty += serialNumbers.Count();
|
||||||
detail.SerialNumbers.AddRange(serialNumbers);
|
//detail.SerialNumbers.AddRange(serialNumbers);
|
||||||
|
|
||||||
|
detail.Qty += intCount;
|
||||||
|
detail.SerialNumbers.AddRange(s);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
IDbContextTransaction _transaction = _transactionRepositories.GetTransaction();
|
IDbContextTransaction _transaction = _transactionRepositories.GetTransaction();
|
||||||
@@ -161,46 +190,34 @@ namespace BarCode.Web.Domain.Services
|
|||||||
//装箱
|
//装箱
|
||||||
foreach (var d in dto.Details.Select(s => s.SerialNumber).Reverse())
|
foreach (var d in dto.Details.Select(s => s.SerialNumber).Reverse())
|
||||||
{
|
{
|
||||||
////原来的
|
//原来的
|
||||||
//var serial = serialNumberList.FirstOrDefault(f => f.SerialNumber.Equals(d)
|
var serial = serialNumberList.FirstOrDefault(f => f.SerialNumber.Equals(d)
|
||||||
//|| f.NumberCode.Equals(d));
|
|| f.NumberCode.Equals(d));
|
||||||
//if (serial == null) return Result.ReFailure(ResultCodes.SerialNumberNoDateError);
|
if (serial == null) return Result.ReFailure(ResultCodes.SerialNumberNoDateError);
|
||||||
//serial.CompleteBox(box.Id, d);
|
serial.CompleteBox(box.Id, d,"0");
|
||||||
////原来的到此
|
//原来的到此
|
||||||
|
|
||||||
|
|
||||||
serialList = await _serialNumbersRepositories.GetEntityListBySuitNumber(d);
|
//serialList = await _serialNumbersRepositories.GetEntityListBySuitNumber(d);
|
||||||
|
|
||||||
|
|
||||||
if (serialList == null) return Result.ReFailure(ResultCodes.SerialNumberNoDateError);
|
//if (serialList == null) return Result.ReFailure(ResultCodes.SerialNumberNoDateError);
|
||||||
if (serialList.Count == 0) return Result.ReFailure(ResultCodes.SerialNumberNoDateError);
|
//if (serialList.Count == 0) return Result.ReFailure(ResultCodes.SerialNumberNoDateError);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
for (int i = 0; i < serialList.Count; i++)
|
//for (int i = 0; i < serialList.Count; i++)
|
||||||
{
|
//{
|
||||||
if(serialList[i].SerialNumber.ToString() == d)
|
// if (serialList[i].SerialNumber.ToString() == d)
|
||||||
{
|
// {
|
||||||
serialList[i].CompleteBox(box.Id, d,"0");
|
// serialList[i].CompleteBox(box.Id, d, "0");
|
||||||
}
|
// }
|
||||||
else
|
// else
|
||||||
{
|
// {
|
||||||
serialList[i].CompleteBox(box.Id, d,"1");
|
// serialList[i].CompleteBox(box.Id, d, "1");
|
||||||
}
|
// }
|
||||||
|
|
||||||
}
|
//}
|
||||||
if (!res_Rollback)
|
|
||||||
{
|
|
||||||
isSuccess = await _serialNumbersRepositories.EditEntityList(serialList, false);
|
|
||||||
if (!isSuccess) res_Rollback = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
var res = await _boxRepositories.Edit(box, false);
|
|
||||||
if (res == null) res_Rollback = true;
|
|
||||||
//if (!res_Rollback)
|
//if (!res_Rollback)
|
||||||
//{
|
//{
|
||||||
// isSuccess = await _serialNumbersRepositories.EditEntityList(serialNumberList, false);
|
// isSuccess = await _serialNumbersRepositories.EditEntityList(serialNumberList, false);
|
||||||
@@ -208,6 +225,34 @@ namespace BarCode.Web.Domain.Services
|
|||||||
//}
|
//}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
//装箱
|
||||||
|
foreach (var d in dto.Details.Select(s => s.TwoSerialNumber).Reverse())
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
//原来的
|
||||||
|
if (d==null) continue;
|
||||||
|
if (d == "") continue;
|
||||||
|
var serial = serialNumberListTwo.FirstOrDefault(f => f.SerialNumber.Equals(d)
|
||||||
|
|| f.NumberCode.Equals(d));
|
||||||
|
|
||||||
|
if (serial == null) return Result.ReFailure(ResultCodes.SerialNumberNoDateError);
|
||||||
|
serial.CompleteBox(box.Id, d, "1");
|
||||||
|
}
|
||||||
|
var res = await _boxRepositories.Edit(box, false);
|
||||||
|
if (res == null) res_Rollback = true;
|
||||||
|
if (!res_Rollback)
|
||||||
|
{
|
||||||
|
isSuccess = await _serialNumbersRepositories.EditEntityList(serialNumberList, false);
|
||||||
|
if (!isSuccess) res_Rollback = true;
|
||||||
|
}
|
||||||
|
if (!res_Rollback)
|
||||||
|
{
|
||||||
|
isSuccess = await _serialNumbersRepositories.EditEntityList(serialNumberListTwo, false);
|
||||||
|
if (!isSuccess) res_Rollback = true;
|
||||||
|
}
|
||||||
|
|
||||||
if (!res_Rollback)
|
if (!res_Rollback)
|
||||||
{
|
{
|
||||||
var ids = serialNumberList.Select(s => s.GenerateRecordId).ToList();
|
var ids = serialNumberList.Select(s => s.GenerateRecordId).ToList();
|
||||||
|
|||||||
Reference in New Issue
Block a user