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)
|
if (loginInfo == null || loginInfo.UserInfo == null)
|
||||||
return ResultList<BoxResponse>.ReFailure(ResultCodes.Token_Invalid_Error);
|
return ResultList<BoxResponse>.ReFailure(ResultCodes.Token_Invalid_Error);
|
||||||
|
|
||||||
|
boxBillNos = boxBillNos.ConvertAll(d => d.ToLower());
|
||||||
var res = await _boxRepositories.GetBox(boxBillNos);
|
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();
|
var ex = boxBillNos.Except(bStrList).ToList();
|
||||||
if (ex.Count() > 0)
|
if (ex.Count() > 0)
|
||||||
return ResultList<BoxResponse>.ReFailure("箱号" + JsonConvert.SerializeObject(ex) + "不存在", 800000);
|
return ResultList<BoxResponse>.ReFailure("箱号" + JsonConvert.SerializeObject(ex) + "不存在", 800000);
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ namespace WMS.Web.Core.Dto.ChangeBoxRecord
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 原箱子ID
|
/// 原箱子ID
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public int SrcBoxId { get; set; }
|
public int SrcBoxId { get; set; } = 0;
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 目标箱子ID
|
/// 目标箱子ID
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -33,11 +33,12 @@ namespace WMS.Web.Domain.Services
|
|||||||
private readonly IBoxInventoryService _boxInventoryService;
|
private readonly IBoxInventoryService _boxInventoryService;
|
||||||
private readonly IBoxInventoryRepositories _boxInventoryRepositories;
|
private readonly IBoxInventoryRepositories _boxInventoryRepositories;
|
||||||
private readonly ILogger<ChangeMoveBoxService> _logger;
|
private readonly ILogger<ChangeMoveBoxService> _logger;
|
||||||
|
private readonly ISerialNumbersRepositories _serialNumbersRepositories;
|
||||||
public ChangeMoveBoxService(IMapper mapper, ILoginService loginService,
|
public ChangeMoveBoxService(IMapper mapper, ILoginService loginService,
|
||||||
IChangeBoxRecordRepositories changeBoxRecordRepositories, IBasicsRepositories basbicsRepositories,
|
IChangeBoxRecordRepositories changeBoxRecordRepositories, IBasicsRepositories basbicsRepositories,
|
||||||
IMoveBoxRecordRepositories moveBoxRecordRepositories, IBoxRepositories boxRepositories,
|
IMoveBoxRecordRepositories moveBoxRecordRepositories, IBoxRepositories boxRepositories,
|
||||||
ISerialNumberService serialNumberService, IBoxInventoryService boxInventoryService, IBoxInventoryRepositories boxInventoryRepositories,
|
ISerialNumberService serialNumberService, IBoxInventoryService boxInventoryService, IBoxInventoryRepositories boxInventoryRepositories,
|
||||||
ILogger<ChangeMoveBoxService> logger)
|
ILogger<ChangeMoveBoxService> logger, ISerialNumbersRepositories serialNumbersRepositories)
|
||||||
{
|
{
|
||||||
_mapper = mapper;
|
_mapper = mapper;
|
||||||
_loginService = loginService;
|
_loginService = loginService;
|
||||||
@@ -49,6 +50,7 @@ namespace WMS.Web.Domain.Services
|
|||||||
_boxInventoryService = boxInventoryService;
|
_boxInventoryService = boxInventoryService;
|
||||||
_boxInventoryRepositories = boxInventoryRepositories;
|
_boxInventoryRepositories = boxInventoryRepositories;
|
||||||
_logger = logger;
|
_logger = logger;
|
||||||
|
_serialNumbersRepositories = serialNumbersRepositories;
|
||||||
}
|
}
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 改箱保存
|
/// 改箱保存
|
||||||
@@ -63,9 +65,18 @@ namespace WMS.Web.Domain.Services
|
|||||||
var srcIds = dto.Select(s => s.SrcBoxId).Distinct().ToList();
|
var srcIds = dto.Select(s => s.SrcBoxId).Distinct().ToList();
|
||||||
var destIds = dto.Select(s => s.DestBoxId).Distinct().ToList();
|
var destIds = dto.Select(s => s.DestBoxId).Distinct().ToList();
|
||||||
var boxs = await _boxInventoryRepositories.GetList(srcIds);
|
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)
|
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);
|
var box = boxs.FirstOrDefault(f => f.BoxId == d.SrcBoxId);
|
||||||
//原箱在库存中的话 进行验证
|
//原箱在库存中的话 进行验证
|
||||||
if (box != null)
|
if (box != null)
|
||||||
@@ -74,10 +85,10 @@ namespace WMS.Web.Domain.Services
|
|||||||
{
|
{
|
||||||
var bDe = box.Details.FirstOrDefault(f => f.MaterialId == bd.MaterialId);
|
var bDe = box.Details.FirstOrDefault(f => f.MaterialId == bd.MaterialId);
|
||||||
if (bDe == null)
|
if (bDe == null)
|
||||||
Result.ReFailure(ResultCodes.BoxMateriaNoData);
|
return Result.ReFailure(ResultCodes.BoxMateriaNoData);
|
||||||
var ex = bd.SerialNumbers.Except(bDe.SerialNumbers).ToList();
|
var ex = bd.SerialNumbers.Except(bDe.SerialNumbers).ToList();
|
||||||
if (ex.Count() > 0)
|
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> InventoryDetailsWriteError = (800014, "写入即时库存明细失败!");
|
||||||
|
|
||||||
public static ValueTuple<int, string> SerialNumbersNoData = (610000, "序列号不存在");
|
public static ValueTuple<int, string> SerialNumbersNoData = (610000, "序列号不存在");
|
||||||
|
public static ValueTuple<int, string> SerialNumbersBoxError = (610002, "序列号已经绑定箱");
|
||||||
public static ValueTuple<int, string> TakeStockStockError = (610001, "一次不能盘多个仓库");
|
public static ValueTuple<int, string> TakeStockStockError = (610001, "一次不能盘多个仓库");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -57,7 +57,7 @@ namespace WMS.Web.Repositories
|
|||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task<List<BoxResponse>> GetBox(List<string> BoxBillNos)
|
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 resList = _mapper.Map<List<BoxResponse>>(list);
|
||||||
|
|
||||||
var materials_result = await _erpService.BillQueryForMaterial();
|
var materials_result = await _erpService.BillQueryForMaterial();
|
||||||
|
|||||||
@@ -296,7 +296,7 @@ namespace WMS.Web.Repositories
|
|||||||
CreateTime = s.order.CreateTime.DateToStringSeconds(),
|
CreateTime = s.order.CreateTime.DateToStringSeconds(),
|
||||||
OperateTime = s.order.OperateTime.DateToStringSeconds(),
|
OperateTime = s.order.OperateTime.DateToStringSeconds(),
|
||||||
Operator = _singleDataService.GetSingleData(SingleAction.Staffs, _loginRepositories.CompanyId, s.order.OperatorId ?? 0),
|
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),
|
OutStock = _singleDataService.GetSingleData(SingleAction.Staffs, _loginRepositories.CompanyId, s.order.OutStockId ?? 0),
|
||||||
OutStockBeginTime = s.detail.OutStockBeginTime.DateToStringSeconds(),
|
OutStockBeginTime = s.detail.OutStockBeginTime.DateToStringSeconds(),
|
||||||
OutStockEndTime = s.detail.OutStockEndTime.DateToStringSeconds(),
|
OutStockEndTime = s.detail.OutStockEndTime.DateToStringSeconds(),
|
||||||
|
|||||||
Reference in New Issue
Block a user