Merge branch 'master' of https://codeup.aliyun.com/62ce7bca487c500c27f70a79/OPS/WMS-Api
This commit is contained in:
@@ -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>
|
||||
非采购上架方式
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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,
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user