改箱调整
This commit is contained in:
@@ -95,7 +95,7 @@ namespace WMS.Web.Api.Controllers
|
|||||||
if (loginInfo == null || loginInfo.UserInfo == null)
|
if (loginInfo == null || loginInfo.UserInfo == null)
|
||||||
return Result.ReFailure(ResultCodes.Token_Invalid_Error);
|
return Result.ReFailure(ResultCodes.Token_Invalid_Error);
|
||||||
|
|
||||||
return await _changeMoveBoxService.ChangeBoxSave(new List<SaveChangeBoxRecordRequest>() { dto }, loginInfo);
|
return await _changeMoveBoxService.ChangeBoxSave(new List<SaveChangeBoxRecordRequest>() { dto }, loginInfo, true, true, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -475,6 +475,11 @@
|
|||||||
目标箱子ID
|
目标箱子ID
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="P:WMS.Web.Core.Dto.ChangeBoxRecord.SaveChangeBoxRecordRequest.DestBoxBillNo">
|
||||||
|
<summary>
|
||||||
|
目标箱号
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
<member name="P:WMS.Web.Core.Dto.ChangeBoxRecord.SaveChangeBoxRecordRequest.SubStockId">
|
<member name="P:WMS.Web.Core.Dto.ChangeBoxRecord.SaveChangeBoxRecordRequest.SubStockId">
|
||||||
<summary>
|
<summary>
|
||||||
目标箱仓位或重新上架选择仓位
|
目标箱仓位或重新上架选择仓位
|
||||||
|
|||||||
@@ -3814,7 +3814,7 @@
|
|||||||
<member name="T:WMS.Web.Domain.Services.ChangeMoveBoxService">
|
<member name="T:WMS.Web.Domain.Services.ChangeMoveBoxService">
|
||||||
改箱 移箱服务
|
改箱 移箱服务
|
||||||
</member>
|
</member>
|
||||||
<member name="M:WMS.Web.Domain.Services.ChangeMoveBoxService.ChangeBoxSave(System.Collections.Generic.List{WMS.Web.Core.Dto.ChangeBoxRecord.SaveChangeBoxRecordRequest},WMS.Web.Core.Dto.Login.LoginInDto,System.Boolean,System.Boolean)">
|
<member name="M:WMS.Web.Domain.Services.ChangeMoveBoxService.ChangeBoxSave(System.Collections.Generic.List{WMS.Web.Core.Dto.ChangeBoxRecord.SaveChangeBoxRecordRequest},WMS.Web.Core.Dto.Login.LoginInDto,System.Boolean,System.Boolean,System.Boolean)">
|
||||||
<summary>
|
<summary>
|
||||||
改箱保存
|
改箱保存
|
||||||
</summary>
|
</summary>
|
||||||
@@ -3822,6 +3822,13 @@
|
|||||||
<param name="loginInfo"></param>
|
<param name="loginInfo"></param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="M:WMS.Web.Domain.Services.ChangeMoveBoxService.CreateBox(WMS.Web.Core.Dto.ChangeBoxRecord.SaveChangeBoxRecordRequest)">
|
||||||
|
<summary>
|
||||||
|
自动生成箱信息
|
||||||
|
</summary>
|
||||||
|
<param name="dto"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
<member name="M:WMS.Web.Domain.Services.ChangeMoveBoxService.MoveBoxSave(System.Collections.Generic.List{WMS.Web.Core.Dto.MoveBoxRecord.SaveMoveBoxRecordRequest},System.Boolean,WMS.Web.Core.Dto.Login.LoginInDto)">
|
<member name="M:WMS.Web.Domain.Services.ChangeMoveBoxService.MoveBoxSave(System.Collections.Generic.List{WMS.Web.Core.Dto.MoveBoxRecord.SaveMoveBoxRecordRequest},System.Boolean,WMS.Web.Core.Dto.Login.LoginInDto)">
|
||||||
<summary>
|
<summary>
|
||||||
移箱保存
|
移箱保存
|
||||||
|
|||||||
@@ -23,12 +23,15 @@ namespace WMS.Web.Core.Dto.ChangeBoxRecord
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 目标箱子ID
|
/// 目标箱子ID
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Required(ErrorMessage = "目标箱子不能为空")]
|
|
||||||
public int DestBoxId { get; set; }
|
public int DestBoxId { get; set; }
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
/// 目标箱号
|
||||||
|
/// </summary>
|
||||||
|
[Required(ErrorMessage = "目标箱号不能为空")]
|
||||||
|
public string DestBoxBillNo { get; set; }
|
||||||
|
/// <summary>
|
||||||
/// 目标箱仓位或重新上架选择仓位
|
/// 目标箱仓位或重新上架选择仓位
|
||||||
///</summary>
|
///</summary>
|
||||||
[Required(ErrorMessage = "仓位不能为空")]
|
|
||||||
public int SubStockId { get; set; } = 0;
|
public int SubStockId { get; set; } = 0;
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 明细
|
/// 明细
|
||||||
|
|||||||
@@ -67,7 +67,7 @@ namespace WMS.Web.Core.Dto
|
|||||||
/// 序列号生成时间
|
/// 序列号生成时间
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[JsonProperty("barCreateTime")]
|
[JsonProperty("barCreateTime")]
|
||||||
public DateTime? BarCreateTime { get; set; }
|
public DateTime? BarCreateTime { get; set; } = DateTime.Now;
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 序列号生成用户
|
/// 序列号生成用户
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ namespace WMS.Web.Domain.IService
|
|||||||
public interface IChangeMoveBoxService
|
public interface IChangeMoveBoxService
|
||||||
{
|
{
|
||||||
//改箱保存
|
//改箱保存
|
||||||
Task<Result> ChangeBoxSave(List<SaveChangeBoxRecordRequest> dto, LoginInDto loginInfo, bool isTransaction=true,bool IsInventory=true);
|
Task<Result> ChangeBoxSave(List<SaveChangeBoxRecordRequest> dto, LoginInDto loginInfo, bool isTransaction=true,bool IsInventory=true,bool IsPDA=false);
|
||||||
//移箱保存
|
//移箱保存
|
||||||
Task<Result> MoveBoxSave(List<SaveMoveBoxRecordRequest> dto, bool IsUp, LoginInDto loginInfo);
|
Task<Result> MoveBoxSave(List<SaveMoveBoxRecordRequest> dto, bool IsUp, LoginInDto loginInfo);
|
||||||
//出库回退
|
//出库回退
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ using System.Collections.Generic;
|
|||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
using WMS.Web.Core.Dto;
|
||||||
using WMS.Web.Core.Dto.ChangeBoxRecord;
|
using WMS.Web.Core.Dto.ChangeBoxRecord;
|
||||||
using WMS.Web.Core.Dto.Inventory;
|
using WMS.Web.Core.Dto.Inventory;
|
||||||
using WMS.Web.Core.Dto.Login;
|
using WMS.Web.Core.Dto.Login;
|
||||||
@@ -35,11 +36,12 @@ namespace WMS.Web.Domain.Services
|
|||||||
private readonly IBoxInventoryRepositories _boxInventoryRepositories;
|
private readonly IBoxInventoryRepositories _boxInventoryRepositories;
|
||||||
private readonly ILogger<ChangeMoveBoxService> _logger;
|
private readonly ILogger<ChangeMoveBoxService> _logger;
|
||||||
private readonly ISerialNumbersRepositories _serialNumbersRepositories;
|
private readonly ISerialNumbersRepositories _serialNumbersRepositories;
|
||||||
|
private readonly IBoxService _boxService;
|
||||||
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, ISerialNumbersRepositories serialNumbersRepositories)
|
ILogger<ChangeMoveBoxService> logger, ISerialNumbersRepositories serialNumbersRepositories, IBoxService boxService)
|
||||||
{
|
{
|
||||||
_mapper = mapper;
|
_mapper = mapper;
|
||||||
_loginService = loginService;
|
_loginService = loginService;
|
||||||
@@ -52,6 +54,7 @@ namespace WMS.Web.Domain.Services
|
|||||||
_boxInventoryRepositories = boxInventoryRepositories;
|
_boxInventoryRepositories = boxInventoryRepositories;
|
||||||
_logger = logger;
|
_logger = logger;
|
||||||
_serialNumbersRepositories = serialNumbersRepositories;
|
_serialNumbersRepositories = serialNumbersRepositories;
|
||||||
|
_boxService = boxService;
|
||||||
}
|
}
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 改箱保存
|
/// 改箱保存
|
||||||
@@ -59,13 +62,33 @@ namespace WMS.Web.Domain.Services
|
|||||||
/// <param name="dto"></param>
|
/// <param name="dto"></param>
|
||||||
/// <param name="loginInfo"></param>
|
/// <param name="loginInfo"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task<Result> ChangeBoxSave(List<SaveChangeBoxRecordRequest> dto, LoginInDto loginInfo, bool isTransaction = false, bool IsInventory = true)
|
public async Task<Result> ChangeBoxSave(List<SaveChangeBoxRecordRequest> dto, LoginInDto loginInfo, bool isTransaction = false, bool IsInventory = true, bool IsPDA = false)
|
||||||
{
|
{
|
||||||
_logger.LogInformation($"改箱:{JsonConvert.SerializeObject(dto)} 操作人:{loginInfo.UserInfo.StaffId}");
|
_logger.LogInformation($"改箱:{JsonConvert.SerializeObject(dto)} 操作人:{loginInfo.UserInfo.StaffId}");
|
||||||
|
if (IsPDA)
|
||||||
|
{
|
||||||
|
var d = dto.First();
|
||||||
|
var dBox = await _boxRepositories.GetByNo(d.DestBoxBillNo);
|
||||||
|
if (dBox == null)
|
||||||
|
{
|
||||||
|
var res = await CreateBox(d);
|
||||||
|
if (!res.IsSuccess) return res;
|
||||||
|
dBox = await _boxRepositories.GetByNo(d.DestBoxBillNo);
|
||||||
|
dto.First().DestBoxId = dBox.Id;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
var destInventoryBoxs = await _boxInventoryRepositories.Get(dBox.Id);
|
||||||
|
dto.First().DestBoxId = dBox.Id;
|
||||||
|
if (destInventoryBoxs != null)
|
||||||
|
dto.First().SubStockId = destInventoryBoxs.SubStockId;
|
||||||
|
}
|
||||||
|
}
|
||||||
//1.有原箱时 需要判断 物料对应的序列号是否存在
|
//1.有原箱时 需要判断 物料对应的序列号是否存在
|
||||||
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 serialNumbers = dto.SelectMany(s => s.Details).SelectMany(s => s.SerialNumbers).ToList();
|
||||||
var serialNumberList = await _serialNumbersRepositories.GetEntityList(serialNumbers);
|
var serialNumberList = await _serialNumbersRepositories.GetEntityList(serialNumbers);
|
||||||
foreach (var d in dto)
|
foreach (var d in dto)
|
||||||
@@ -187,6 +210,33 @@ namespace WMS.Web.Domain.Services
|
|||||||
}
|
}
|
||||||
return Result.ReSuccess();
|
return Result.ReSuccess();
|
||||||
}
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// 自动生成箱信息
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="dto"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
private async Task<Result> CreateBox(SaveChangeBoxRecordRequest dto)
|
||||||
|
{
|
||||||
|
List<OpsBoxResponse> list = new List<OpsBoxResponse>();
|
||||||
|
OpsBoxResponse response = new OpsBoxResponse() { BoxBillNo = dto.DestBoxBillNo };
|
||||||
|
foreach (var d in dto.Details)
|
||||||
|
{
|
||||||
|
List<OpsSerialNumbersResponse> s = new List<OpsSerialNumbersResponse>();
|
||||||
|
foreach (var sd in d.SerialNumbers)
|
||||||
|
{
|
||||||
|
s.Add(new OpsSerialNumbersResponse() { SerialNumber = sd });
|
||||||
|
}
|
||||||
|
OpsBoxDetailsResponse dr = new OpsBoxDetailsResponse()
|
||||||
|
{
|
||||||
|
MaterialId = d.MaterialId,
|
||||||
|
Qty = d.Qty,
|
||||||
|
SerialNumbers = s
|
||||||
|
};
|
||||||
|
}
|
||||||
|
list.Add(response);
|
||||||
|
return await _boxService.Sync(list);
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 移箱保存
|
/// 移箱保存
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
Reference in New Issue
Block a user