This commit is contained in:
tongfei
2023-11-13 14:17:11 +08:00
4 changed files with 155 additions and 0 deletions

View File

@@ -1875,6 +1875,9 @@
<member name="M:WMS.Web.Domain.IService.ISerialNumberService.OutStock(WMS.Web.Domain.Entitys.OutStock,WMS.Web.Core.Dto.Login.LoginInDto,System.Boolean)">
出库
</member>
<member name="M:WMS.Web.Domain.IService.ISerialNumberService.InStock(WMS.Web.Domain.Entitys.InStock,WMS.Web.Core.Dto.Login.LoginInDto,System.Boolean)">
入库
</member>
<member name="M:WMS.Web.Domain.IService.ISerialNumberService.SerialNumberOperate(System.Collections.Generic.List{WMS.Web.Domain.Entitys.SerialNumberOperate},System.Boolean)">
<summary>
序列号操作记录
@@ -3570,6 +3573,13 @@
<param name="type"></param>
<returns></returns>
</member>
<member name="M:WMS.Web.Domain.Services.SerialNumberService.InStockTypeConvert(WMS.Web.Domain.Values.InstockType)">
<summary>
出库单类型转化序列号记录类型
</summary>
<param name="type"></param>
<returns></returns>
</member>
<member name="M:WMS.Web.Domain.Services.SerialNumberService.SerialNumberOperate(System.Collections.Generic.List{WMS.Web.Domain.Entitys.SerialNumberOperate},System.Boolean)">
<summary>
序列号操作记录日志
@@ -3578,6 +3588,15 @@
<param name="isTransaction"></param>
<returns></returns>
</member>
<member name="M:WMS.Web.Domain.Services.SerialNumberService.InStock(WMS.Web.Domain.Entitys.InStock,WMS.Web.Core.Dto.Login.LoginInDto,System.Boolean)">
<summary>
入库
</summary>
<param name="inStock"></param>
<param name="loginInfo"></param>
<param name="isTransaction"></param>
<returns></returns>
</member>
<member name="T:WMS.Web.Domain.Services.TakeStockService">
<summary>
盘点单服务
@@ -3998,6 +4017,31 @@
组装拆卸出库
</summary>
</member>
<member name="F:WMS.Web.Domain.Values.SerialNumberOperateType.Purchase_In">
<summary>
采购入库
</summary>
</member>
<member name="F:WMS.Web.Domain.Values.SerialNumberOperateType.Miscellaneous_In">
<summary>
其他入库
</summary>
</member>
<member name="F:WMS.Web.Domain.Values.SerialNumberOperateType.Stkdirecttransfers_In">
<summary>
直接调拨入库
</summary>
</member>
<member name="F:WMS.Web.Domain.Values.SerialNumberOperateType.StktransferInst_In">
<summary>
分步式入库
</summary>
</member>
<member name="F:WMS.Web.Domain.Values.SerialNumberOperateType.Assembled_In">
<summary>
组装拆卸入库
</summary>
</member>
<member name="T:WMS.Web.Domain.Values.ShelfMethod">
<summary>
非采购上架方式

View File

@@ -20,6 +20,8 @@ namespace WMS.Web.Domain.IService
Task<Result> MoveBox(MoveBoxRecord moveBoxRecord, LoginInDto loginInfo, bool isTransaction = true);
/// 出库
Task<Result> OutStock(OutStock outStock, LoginInDto loginInfo, bool isTransaction = true);
/// 入库
Task<Result> InStock(InStock inStock, LoginInDto loginInfo, bool isTransaction = true);
/// <summary>
/// 序列号操作记录
/// </summary>

View File

@@ -252,6 +252,29 @@ namespace WMS.Web.Domain.Services
return SerialNumberOperateType.StktransferInst_Out;
}
}
/// <summary>
/// 出库单类型转化序列号记录类型
/// </summary>
/// <param name="type"></param>
/// <returns></returns>
private SerialNumberOperateType InStockTypeConvert(InstockType type)
{
switch (type)
{
case InstockType.Purchase:
return SerialNumberOperateType.Purchase_In;
case InstockType.Assembled:
return SerialNumberOperateType.Assembled_In;
case InstockType.Miscellaneous:
return SerialNumberOperateType.Miscellaneous_In;
case InstockType.Stkdirecttransfers:
return SerialNumberOperateType.Stkdirecttransfers_In;
case InstockType.StktransferInst:
return SerialNumberOperateType.StktransferInst_In;
default:
return SerialNumberOperateType.StktransferInst_In;
}
}
/// <summary>
/// 序列号操作记录日志
@@ -265,5 +288,66 @@ namespace WMS.Web.Domain.Services
if (!isSuccess) return Result.ReFailure(ResultCodes.DateWriteError);
return Result.ReSuccess();
}
/// <summary>
/// 入库
/// </summary>
/// <param name="inStock"></param>
/// <param name="loginInfo"></param>
/// <param name="isTransaction"></param>
/// <returns></returns>
public async Task<Result> InStock(InStock inStock, LoginInDto loginInfo, bool isTransaction = true)
{
//获取序列号信息
var serialNumbers = new List<string>();// inStock.Details.SelectMany(s => s.SerialNumbers).ToList();
var entityList = await _serialNumbersRepositories.GetEntityList(serialNumbers);
var boxIds = entityList.Select(s => s.BoxId).ToList();
var boxList = await _boxRepositories.GetEntityList(boxIds);
var userName = _singleDataService.GetSingleData(SingleAction.Staffs, loginInfo.UserInfo.CompanyId, loginInfo.UserInfo.StaffId);
IDbContextTransaction _transaction = null;
if (isTransaction)
_transaction = _transactionRepositories.GetTransaction();
bool isRollback = false;
bool isSuccess = true;
List<SerialNumberOperate> sList = new List<SerialNumberOperate>();
foreach (var entity in entityList)
{
var box = boxList.FirstOrDefault(f => f.Id == entity.BoxId);
//修改序列号和箱绑定关系
entity.InStock(inStock.BillNo);
//记录序列号操作日志
SerialNumberOperate op = new SerialNumberOperate()
{
MaterialId = entity.MaterialId,
SerialNumber = entity.SerialNumber,
OrgId = box.OrgId,
SupplierId = box.SupplierId,
OperateTime = DateTime.Now,
OperateType = InStockTypeConvert(inStock.Type),
OperateUser = userName,
Remark = "来源单号:" + inStock.Details.First().SourceBillNo
+ "\r\n" + "入库单号:" + inStock.BillNo
+ "\r\n" + "仓位号:" + ""
};
sList.Add(op);
}
isSuccess = await _serialNumbersRepositories.EditEntityList(entityList, false);
//序列号操作记录
var res = await this.SerialNumberOperate(sList, false);
//提交事务
if (isTransaction)
{
if (!isSuccess) isRollback = true;
if (!res.Success) isRollback = true;
isSuccess = _transactionRepositories.CommitTransaction(isRollback, _transaction);
if (!isSuccess)
return Result.ReFailure(ResultCodes.DateWriteError);
}
if (!isSuccess) return Result.ReFailure(ResultCodes.DateWriteError);
if (!res.Success) return Result.ReFailure(ResultCodes.DateWriteError);
return Result.ReSuccess();
}
}
}

View File

@@ -58,5 +58,30 @@ namespace WMS.Web.Domain.Values
/// </summary>
[EnumRemark("组装拆卸出库")]
Assembled_Out = 9,
/// <summary>
/// 采购入库
/// </summary>
[EnumRemark("采购入库")]
Purchase_In = 10,
/// <summary>
/// 其他入库
/// </summary>
[EnumRemark("其他入库")]
Miscellaneous_In = 11,
/// <summary>
/// 直接调拨入库
/// </summary>
[EnumRemark("直接调拨入库")]
Stkdirecttransfers_In = 12,
/// <summary>
/// 分步式入库
/// </summary>
[EnumRemark("分步式入库")]
StktransferInst_In = 13,
/// <summary>
/// 组装拆卸入库
/// </summary>
[EnumRemark("组装拆卸入库")]
Assembled_In = 14,
}
}