Merge branch 'master' of https://codeup.aliyun.com/62ce7bca487c500c27f70a79/OPS/WMS-Api
This commit is contained in:
@@ -309,8 +309,9 @@ namespace WMS.Web.Api.Controllers
|
||||
if (loginInfo == null || loginInfo.UserInfo == null)
|
||||
return ResultList<BoxResponse>.ReFailure(ResultCodes.Token_Invalid_Error);
|
||||
|
||||
boxBillNos = boxBillNos.ConvertAll(d => d.ToLower());
|
||||
var res = await _boxRepositories.GetBox(boxBillNos);
|
||||
var bStrList = res.Select(s => s.BoxBillNo).ToList();
|
||||
var bStrList = res.Select(s => s.BoxBillNo.ToLower()).ToList();
|
||||
var ex = boxBillNos.Except(bStrList).ToList();
|
||||
if (ex.Count() > 0)
|
||||
return ResultList<BoxResponse>.ReFailure("箱号" + JsonConvert.SerializeObject(ex) + "不存在", 800000);
|
||||
|
||||
@@ -13,7 +13,7 @@ namespace WMS.Web.Core.Dto.ChangeBoxRecord
|
||||
/// <summary>
|
||||
/// 原箱子ID
|
||||
/// </summary>
|
||||
public int SrcBoxId { get; set; }
|
||||
public int SrcBoxId { get; set; } = 0;
|
||||
/// <summary>
|
||||
/// 目标箱子ID
|
||||
/// </summary>
|
||||
|
||||
@@ -33,11 +33,12 @@ namespace WMS.Web.Domain.Services
|
||||
private readonly IBoxInventoryService _boxInventoryService;
|
||||
private readonly IBoxInventoryRepositories _boxInventoryRepositories;
|
||||
private readonly ILogger<ChangeMoveBoxService> _logger;
|
||||
private readonly ISerialNumbersRepositories _serialNumbersRepositories;
|
||||
public ChangeMoveBoxService(IMapper mapper, ILoginService loginService,
|
||||
IChangeBoxRecordRepositories changeBoxRecordRepositories, IBasicsRepositories basbicsRepositories,
|
||||
IMoveBoxRecordRepositories moveBoxRecordRepositories, IBoxRepositories boxRepositories,
|
||||
ISerialNumberService serialNumberService, IBoxInventoryService boxInventoryService, IBoxInventoryRepositories boxInventoryRepositories,
|
||||
ILogger<ChangeMoveBoxService> logger)
|
||||
ILogger<ChangeMoveBoxService> logger, ISerialNumbersRepositories serialNumbersRepositories)
|
||||
{
|
||||
_mapper = mapper;
|
||||
_loginService = loginService;
|
||||
@@ -49,6 +50,7 @@ namespace WMS.Web.Domain.Services
|
||||
_boxInventoryService = boxInventoryService;
|
||||
_boxInventoryRepositories = boxInventoryRepositories;
|
||||
_logger = logger;
|
||||
_serialNumbersRepositories = serialNumbersRepositories;
|
||||
}
|
||||
/// <summary>
|
||||
/// 改箱保存
|
||||
@@ -63,9 +65,18 @@ namespace WMS.Web.Domain.Services
|
||||
var srcIds = dto.Select(s => s.SrcBoxId).Distinct().ToList();
|
||||
var destIds = dto.Select(s => s.DestBoxId).Distinct().ToList();
|
||||
var boxs = await _boxInventoryRepositories.GetList(srcIds);
|
||||
var serialNumbers = dto.SelectMany(s => s.Details).SelectMany(s => s.SerialNumbers).ToList();
|
||||
var serialNumberList = await _serialNumbersRepositories.GetEntityList(serialNumbers);
|
||||
foreach (var d in dto)
|
||||
{
|
||||
if (d.SrcBoxId == 0) continue;
|
||||
if (d.SrcBoxId == 0)
|
||||
{
|
||||
//没有原箱的情况下需要验证序列号是否有箱子绑定
|
||||
var s = d.Details.SelectMany(s => s.SerialNumbers).ToList();
|
||||
var sCount = serialNumberList.Where(w => s.Contains(w.SerialNumber) && w.BoxId != 0).Count();
|
||||
if (sCount > 0)
|
||||
return Result.ReFailure(ResultCodes.SerialNumbersBoxError);
|
||||
}
|
||||
var box = boxs.FirstOrDefault(f => f.BoxId == d.SrcBoxId);
|
||||
//原箱在库存中的话 进行验证
|
||||
if (box != null)
|
||||
@@ -74,10 +85,10 @@ namespace WMS.Web.Domain.Services
|
||||
{
|
||||
var bDe = box.Details.FirstOrDefault(f => f.MaterialId == bd.MaterialId);
|
||||
if (bDe == null)
|
||||
Result.ReFailure(ResultCodes.BoxMateriaNoData);
|
||||
return Result.ReFailure(ResultCodes.BoxMateriaNoData);
|
||||
var ex = bd.SerialNumbers.Except(bDe.SerialNumbers).ToList();
|
||||
if (ex.Count() > 0)
|
||||
Result.ReFailure(ResultCodes.BoxInventorySerialNumbersNoData);
|
||||
return Result.ReFailure(ResultCodes.BoxInventorySerialNumbersNoData);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -68,6 +68,7 @@ namespace WMS.Web.Domain.Values
|
||||
public static ValueTuple<int, string> InventoryDetailsWriteError = (800014, "写入即时库存明细失败!");
|
||||
|
||||
public static ValueTuple<int, string> SerialNumbersNoData = (610000, "序列号不存在");
|
||||
public static ValueTuple<int, string> SerialNumbersBoxError = (610002, "序列号已经绑定箱");
|
||||
public static ValueTuple<int, string> TakeStockStockError = (610001, "一次不能盘多个仓库");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -57,7 +57,7 @@ namespace WMS.Web.Repositories
|
||||
/// <returns></returns>
|
||||
public async Task<List<BoxResponse>> GetBox(List<string> BoxBillNos)
|
||||
{
|
||||
var list = await _context.Box.Include(x => x.Details).Where(f => BoxBillNos.Contains(f.BoxBillNo)).ToListAsync();
|
||||
var list = await _context.Box.Include(x => x.Details).Where(f => BoxBillNos.Contains(f.BoxBillNo.ToLower())).ToListAsync();
|
||||
var resList = _mapper.Map<List<BoxResponse>>(list);
|
||||
|
||||
var materials_result = await _erpService.BillQueryForMaterial();
|
||||
|
||||
@@ -296,7 +296,7 @@ namespace WMS.Web.Repositories
|
||||
CreateTime = s.order.CreateTime.DateToStringSeconds(),
|
||||
OperateTime = s.order.OperateTime.DateToStringSeconds(),
|
||||
Operator = _singleDataService.GetSingleData(SingleAction.Staffs, _loginRepositories.CompanyId, s.order.OperatorId ?? 0),
|
||||
OutStockTime = s.order.OperateTime.DateToStringSeconds(),
|
||||
OutStockTime = s.order.OutStockTime.DateToStringSeconds(),
|
||||
OutStock = _singleDataService.GetSingleData(SingleAction.Staffs, _loginRepositories.CompanyId, s.order.OutStockId ?? 0),
|
||||
OutStockBeginTime = s.detail.OutStockBeginTime.DateToStringSeconds(),
|
||||
OutStockEndTime = s.detail.OutStockEndTime.DateToStringSeconds(),
|
||||
|
||||
Reference in New Issue
Block a user