盘点添加箱信息
This commit is contained in:
@@ -5986,7 +5986,12 @@
|
|||||||
</member>
|
</member>
|
||||||
<member name="P:WMS.Web.Core.Dto.TakeStock.SaveTakeStockRequest.BoxId">
|
<member name="P:WMS.Web.Core.Dto.TakeStock.SaveTakeStockRequest.BoxId">
|
||||||
<summary>
|
<summary>
|
||||||
箱Id
|
箱Id(如果是新箱子 箱id为0)
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:WMS.Web.Core.Dto.TakeStock.SaveTakeStockRequest.BoxBillNo">
|
||||||
|
<summary>
|
||||||
|
箱号
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
<member name="P:WMS.Web.Core.Dto.TakeStock.SaveTakeStockRequest.MaterialNumber">
|
<member name="P:WMS.Web.Core.Dto.TakeStock.SaveTakeStockRequest.MaterialNumber">
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ namespace WMS.Web.Domain.Entitys
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 对应老OPS的箱ID
|
/// 对应老OPS的箱ID
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public int OpsBoxId { get; set; }
|
public int OpsBoxId { get; set; } = 0;
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 箱编号(老OPS生成的箱号)
|
/// 箱编号(老OPS生成的箱号)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -12,6 +12,8 @@ namespace WMS.Web.Domain.Infrastructure
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public interface IBoxRepositories
|
public interface IBoxRepositories
|
||||||
{
|
{
|
||||||
|
//添加箱
|
||||||
|
Task<Box> Add(Box entity, bool isTransaction = true);
|
||||||
Task<Box> Get(int id);
|
Task<Box> Get(int id);
|
||||||
Task<Box> GetByNo(string billNo);
|
Task<Box> GetByNo(string billNo);
|
||||||
//根据箱号搜索 用来比对确定是否箱号信息是否存在
|
//根据箱号搜索 用来比对确定是否箱号信息是否存在
|
||||||
|
|||||||
@@ -78,8 +78,9 @@ namespace WMS.Web.Domain.Services
|
|||||||
//V01.05.00如果扫的内容不是CTN开头则提示"请扫描箱码作为箱号"
|
//V01.05.00如果扫的内容不是CTN开头则提示"请扫描箱码作为箱号"
|
||||||
if (string.IsNullOrEmpty(d.DestBoxBillNo) || d.DestBoxBillNo.Length <= 3)
|
if (string.IsNullOrEmpty(d.DestBoxBillNo) || d.DestBoxBillNo.Length <= 3)
|
||||||
return Result.ReFailure(ResultCodes.BoxBillNoError);
|
return Result.ReFailure(ResultCodes.BoxBillNoError);
|
||||||
if (d.DestBoxBillNo.Substring(0, 3) != "CTN")
|
//v1.0.6取消限制
|
||||||
return Result.ReFailure(ResultCodes.BoxBillNoError);
|
//if (d.DestBoxBillNo.Substring(0, 3) != "CTN")
|
||||||
|
// return Result.ReFailure(ResultCodes.BoxBillNoError);
|
||||||
|
|
||||||
var res = await CreateBox(d);
|
var res = await CreateBox(d);
|
||||||
if (!res.IsSuccess) return res;
|
if (!res.IsSuccess) return res;
|
||||||
|
|||||||
@@ -43,13 +43,14 @@ namespace WMS.Web.Domain.Services
|
|||||||
private readonly ISerialNumberService _serialNumberService;
|
private readonly ISerialNumberService _serialNumberService;
|
||||||
private readonly IServiceScopeFactory _serviceScopeFactory;
|
private readonly IServiceScopeFactory _serviceScopeFactory;
|
||||||
private readonly ISerialNumbersRepositories _serialNumberRepositories;
|
private readonly ISerialNumbersRepositories _serialNumberRepositories;
|
||||||
|
private readonly IBoxRepositories _boxRepositories;
|
||||||
public TakeStockService(IMapper mapper, ILoginService loginService,
|
public TakeStockService(IMapper mapper, ILoginService loginService,
|
||||||
IBasicsRepositories transactionRepositories,
|
IBasicsRepositories transactionRepositories,
|
||||||
ITakeStockRepositories takeStockRepositories, ILoginRepositories loginRepositories,
|
ITakeStockRepositories takeStockRepositories, ILoginRepositories loginRepositories,
|
||||||
ISingleDataService singleDataService, IErpService erpService, ILogger<TakeStockService> logger,
|
ISingleDataService singleDataService, IErpService erpService, ILogger<TakeStockService> logger,
|
||||||
IBoxInventoryService boxInventoryService, IErpBasicDataExtendService erpBasicDataExtendService,
|
IBoxInventoryService boxInventoryService, IErpBasicDataExtendService erpBasicDataExtendService,
|
||||||
ISerialNumberService serialNumberService, IServiceScopeFactory serviceScopeFactory,
|
ISerialNumberService serialNumberService, IServiceScopeFactory serviceScopeFactory,
|
||||||
ISerialNumbersRepositories serialNumberRepositories)
|
ISerialNumbersRepositories serialNumberRepositories, IBoxRepositories boxRepositories)
|
||||||
{
|
{
|
||||||
_mapper = mapper;
|
_mapper = mapper;
|
||||||
_loginService = loginService;
|
_loginService = loginService;
|
||||||
@@ -64,6 +65,7 @@ namespace WMS.Web.Domain.Services
|
|||||||
_serialNumberService = serialNumberService;
|
_serialNumberService = serialNumberService;
|
||||||
_serviceScopeFactory = serviceScopeFactory;
|
_serviceScopeFactory = serviceScopeFactory;
|
||||||
_serialNumberRepositories = serialNumberRepositories;
|
_serialNumberRepositories = serialNumberRepositories;
|
||||||
|
_boxRepositories = boxRepositories;
|
||||||
}
|
}
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 保存
|
/// 保存
|
||||||
@@ -78,6 +80,25 @@ namespace WMS.Web.Domain.Services
|
|||||||
if (dto.Count() == 0) return Result.ReSuccess();
|
if (dto.Count() == 0) return Result.ReSuccess();
|
||||||
if (dto.GroupBy(g => g.BoxId).Count() > 1)
|
if (dto.GroupBy(g => g.BoxId).Count() > 1)
|
||||||
return Result.ReFailure(ResultCodes.TakeStockBoxError);
|
return Result.ReFailure(ResultCodes.TakeStockBoxError);
|
||||||
|
//v1.0.6 如果箱子不存在则添加箱信息
|
||||||
|
var dto_f = dto.First();
|
||||||
|
if (dto_f.BoxId == 0)
|
||||||
|
{
|
||||||
|
var dBox = await _boxRepositories.GetByNo(dto_f.BoxBillNo);
|
||||||
|
if (dBox != null) return Result.ReFailure(ResultCodes.TakeStockBoxIdError);
|
||||||
|
dBox = new Box()
|
||||||
|
{
|
||||||
|
BoxBillNo = dto_f.BoxBillNo,
|
||||||
|
CompleteCartonTime = DateTime.Now,
|
||||||
|
CreateUser = loginInfo.UserInfo.Nickname,
|
||||||
|
CompleteCartonUser = loginInfo.UserInfo.Nickname,
|
||||||
|
CreateTime = DateTime.Now
|
||||||
|
};
|
||||||
|
dBox = await _boxRepositories.Add(dBox);
|
||||||
|
if(dBox==null)return Result.ReFailure(ResultCodes.DateWriteError);
|
||||||
|
dto.ForEach(f => f.BoxId = dBox.Id);
|
||||||
|
}
|
||||||
|
|
||||||
var serialNumbersBoxInventoryList = await GetSerialNumbersBoxInventory(dto);
|
var serialNumbersBoxInventoryList = await GetSerialNumbersBoxInventory(dto);
|
||||||
|
|
||||||
List<TakeStock> list = new List<TakeStock>();
|
List<TakeStock> list = new List<TakeStock>();
|
||||||
|
|||||||
@@ -92,6 +92,7 @@ namespace WMS.Web.Domain.Values
|
|||||||
public static ValueTuple<int, string> TakeStockErpSubStockError = (610005, "HD或GD仓时子仓库必填");
|
public static ValueTuple<int, string> TakeStockErpSubStockError = (610005, "HD或GD仓时子仓库必填");
|
||||||
public static ValueTuple<int, string> TakeStockBoxError = (610004, "一次只能盘一个箱");
|
public static ValueTuple<int, string> TakeStockBoxError = (610004, "一次只能盘一个箱");
|
||||||
public static ValueTuple<int, string> SerialNumbersIsShelf = (610006, "序列号已上架入库");
|
public static ValueTuple<int, string> SerialNumbersIsShelf = (610006, "序列号已上架入库");
|
||||||
|
public static ValueTuple<int, string> TakeStockBoxIdError = (610007, "箱信息错误");
|
||||||
|
|
||||||
public static ValueTuple<int, string> SubscribeNotificationNoData = (700001, "订阅通知信息不存在");
|
public static ValueTuple<int, string> SubscribeNotificationNoData = (700001, "订阅通知信息不存在");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -44,6 +44,36 @@ namespace WMS.Web.Repositories
|
|||||||
_erpBasicDataExtendService = erpBasicDataExtendService;
|
_erpBasicDataExtendService = erpBasicDataExtendService;
|
||||||
_erpService = erpServic;
|
_erpService = erpServic;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 新增
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="entity"></param>
|
||||||
|
/// <param name="isTransaction"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public async Task<Box> Add(Box entity, bool isTransaction = true)
|
||||||
|
{
|
||||||
|
IDbContextTransaction _transaction = null;
|
||||||
|
if (isTransaction)
|
||||||
|
_transaction = _context.Database.BeginTransaction();
|
||||||
|
try
|
||||||
|
{
|
||||||
|
await _context.Box.AddAsync(entity);
|
||||||
|
await _context.SaveChangesAsync();
|
||||||
|
|
||||||
|
if (_transaction != null)
|
||||||
|
_transaction.Commit();
|
||||||
|
return entity;
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
if (_transaction != null)
|
||||||
|
_transaction.Rollback();
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
public async Task<Box> Get(int id)
|
public async Task<Box> Get(int id)
|
||||||
{
|
{
|
||||||
var entity = await _context.Box.Include(x => x.Details)
|
var entity = await _context.Box.Include(x => x.Details)
|
||||||
|
|||||||
Reference in New Issue
Block a user