调整序列号
This commit is contained in:
@@ -1110,6 +1110,24 @@
|
||||
入库单号/采购单号
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WMS.Web.Domain.Entitys.SerialNumbers.Operate(System.Int32)">
|
||||
<summary>
|
||||
移箱
|
||||
</summary>
|
||||
<param name="destBoxId">目标箱号</param>
|
||||
</member>
|
||||
<member name="M:WMS.Web.Domain.Entitys.SerialNumbers.OutStock(System.String)">
|
||||
<summary>
|
||||
出库
|
||||
</summary>
|
||||
<param name="outStockBillNo">出库单号</param>
|
||||
</member>
|
||||
<member name="M:WMS.Web.Domain.Entitys.SerialNumbers.InStock(System.String)">
|
||||
<summary>
|
||||
出库
|
||||
</summary>
|
||||
<param name="inStockBillNo">出库单号</param>
|
||||
</member>
|
||||
<member name="T:WMS.Web.Domain.Entitys.TakeStock">
|
||||
<summary>
|
||||
wms盘点单
|
||||
@@ -1376,6 +1394,9 @@
|
||||
<param name="isTransaction"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:WMS.Web.Domain.Infrastructure.IBoxRepositories.GetEntityList(System.Collections.Generic.List{System.Int32})">
|
||||
查询实体集合
|
||||
</member>
|
||||
<member name="T:WMS.Web.Domain.Infrastructure.IErpOpsSyncDateRepositories">
|
||||
<summary>
|
||||
定时任务最新一次时间管理
|
||||
@@ -1774,6 +1795,29 @@
|
||||
序列号服务
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WMS.Web.Domain.IService.ISerialNumberService.ChangeBox(System.Collections.Generic.List{WMS.Web.Domain.Entitys.ChangeBoxRecord},WMS.Web.Core.Dto.Login.LoginInDto,System.Boolean)">
|
||||
<summary>
|
||||
操作序列号(移箱等)
|
||||
</summary>
|
||||
<param name="changeBoxRecords"></param>
|
||||
<param name="isTransaction"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:WMS.Web.Domain.IService.ISerialNumberService.OutStock(System.Collections.Generic.List{System.String},System.Boolean)">
|
||||
<summary>
|
||||
操作序列号(出库操作)
|
||||
</summary>
|
||||
<param name="serialNumbers">序列号</param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:WMS.Web.Domain.IService.ISerialNumberService.SerialNumberOperate(System.Collections.Generic.List{WMS.Web.Domain.Entitys.SerialNumberOperate},System.Boolean)">
|
||||
<summary>
|
||||
序列号操作记录
|
||||
</summary>
|
||||
<param name="list"></param>
|
||||
<param name="isTransaction"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="T:WMS.Web.Domain.IService.ITakeStockService">
|
||||
<summary>
|
||||
盘点单服务
|
||||
@@ -2515,14 +2559,6 @@
|
||||
箱服务信息
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WMS.Web.Domain.Services.BoxService.SerialNumberOperate(System.Collections.Generic.List{WMS.Web.Domain.Entitys.SerialNumberOperate},System.Boolean)">
|
||||
<summary>
|
||||
序列号操作记录日志
|
||||
</summary>
|
||||
<param name="list"></param>
|
||||
<param name="isTransaction"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="T:WMS.Web.Domain.Services.ChangeMoveBoxService">
|
||||
改箱 移箱服务
|
||||
</member>
|
||||
@@ -3354,6 +3390,29 @@
|
||||
序列号服务
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WMS.Web.Domain.Services.SerialNumberService.ChangeBox(System.Collections.Generic.List{WMS.Web.Domain.Entitys.ChangeBoxRecord},WMS.Web.Core.Dto.Login.LoginInDto,System.Boolean)">
|
||||
<summary>
|
||||
改箱
|
||||
</summary>
|
||||
<param name="changeBoxRecords"></param>
|
||||
<param name="isTransaction"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:WMS.Web.Domain.Services.SerialNumberService.OutStock(System.Collections.Generic.List{System.String},System.Boolean)">
|
||||
<summary>
|
||||
操作序列号(出库操作)
|
||||
</summary>
|
||||
<param name="serialNumbers"></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>
|
||||
序列号操作记录日志
|
||||
</summary>
|
||||
<param name="list"></param>
|
||||
<param name="isTransaction"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="T:WMS.Web.Domain.Services.TakeStockService">
|
||||
<summary>
|
||||
盘点单服务
|
||||
|
||||
@@ -68,5 +68,31 @@ namespace WMS.Web.Domain.Entitys
|
||||
///</summary>
|
||||
[Column("InStockBillNo")]
|
||||
public string InStockBillNo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 移箱
|
||||
/// </summary>
|
||||
/// <param name="destBoxId">目标箱号</param>
|
||||
public void Operate(int destBoxId)
|
||||
{
|
||||
this.BoxId = destBoxId;
|
||||
}
|
||||
/// <summary>
|
||||
/// 出库
|
||||
/// </summary>
|
||||
/// <param name="outStockBillNo">出库单号</param>
|
||||
public void OutStock(string outStockBillNo)
|
||||
{
|
||||
this.BoxId = 0;
|
||||
this.OutStockBillNo = outStockBillNo;
|
||||
}
|
||||
/// <summary>
|
||||
/// 出库
|
||||
/// </summary>
|
||||
/// <param name="inStockBillNo">出库单号</param>
|
||||
public void InStock(string inStockBillNo)
|
||||
{
|
||||
this.InStockBillNo = inStockBillNo;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,6 +12,5 @@ namespace WMS.Web.Domain.IService
|
||||
{
|
||||
// 同步老Ops箱信息
|
||||
Task<Result> Sync();
|
||||
Task<Result> SerialNumberOperate(List<SerialNumberOperate> list, bool isTransaction = true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,11 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using WMS.Web.Core.Dto.Login;
|
||||
using WMS.Web.Core.Internal.Results;
|
||||
using WMS.Web.Domain.Entitys;
|
||||
using WMS.Web.Domain.Values;
|
||||
|
||||
namespace WMS.Web.Domain.IService
|
||||
{
|
||||
@@ -9,5 +14,25 @@ namespace WMS.Web.Domain.IService
|
||||
/// </summary>
|
||||
public interface ISerialNumberService
|
||||
{
|
||||
/// <summary>
|
||||
/// 操作序列号(移箱等)
|
||||
/// </summary>
|
||||
/// <param name="changeBoxRecords"></param>
|
||||
/// <param name="isTransaction"></param>
|
||||
/// <returns></returns>
|
||||
Task<Result> ChangeBox(List<ChangeBoxRecord> changeBoxRecords, LoginInDto loginInfo, bool isTransaction = true);
|
||||
/// <summary>
|
||||
/// 操作序列号(出库操作)
|
||||
/// </summary>
|
||||
/// <param name="serialNumbers">序列号</param>
|
||||
/// <returns></returns>
|
||||
Task<Result> OutStock(List<string> serialNumbers, bool isTransaction = true);
|
||||
/// <summary>
|
||||
/// 序列号操作记录
|
||||
/// </summary>
|
||||
/// <param name="list"></param>
|
||||
/// <param name="isTransaction"></param>
|
||||
/// <returns></returns>
|
||||
Task<Result> SerialNumberOperate(List<SerialNumberOperate> list, bool isTransaction = true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,5 +27,7 @@ namespace WMS.Web.Domain.Infrastructure
|
||||
/// <param name="isTransaction"></param>
|
||||
/// <returns></returns>
|
||||
Task<bool> AddRange(List<Box> entitys, bool isTransaction = true);
|
||||
/// 查询实体集合
|
||||
Task<List<Box>> GetEntityList(List<int> ids);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,13 +25,13 @@ namespace WMS.Web.Domain.Services
|
||||
public readonly IBasicsRepositories _transactionRepositories;
|
||||
private readonly IBoxRepositories _boxRepositories;
|
||||
private readonly IOpsService _opsService;
|
||||
private readonly ISerialNumberOperateRepositories _serialNumberOperateRepositories;
|
||||
private readonly ISerialNumberService _serialNumberService;
|
||||
private readonly IErpOpsSyncDateRepositories _erpOpsSyncDateRepositories;
|
||||
private readonly ISerialNumbersRepositories _serialNumbersRepositories;
|
||||
public BoxService(IMapper mapper, ILoginService loginService,
|
||||
IBasicsRepositories transactionRepositories,
|
||||
IBoxRepositories boxRepositories, IOpsService opsService,
|
||||
ISerialNumberOperateRepositories serialNumberOperateRepositories,
|
||||
ISerialNumberService serialNumberService,
|
||||
IErpOpsSyncDateRepositories erpOpsSyncDateRepositories,
|
||||
ISerialNumbersRepositories serialNumbersRepositories)
|
||||
{
|
||||
@@ -40,7 +40,7 @@ namespace WMS.Web.Domain.Services
|
||||
_transactionRepositories = transactionRepositories;
|
||||
_boxRepositories = boxRepositories;
|
||||
_opsService = opsService;
|
||||
_serialNumberOperateRepositories = serialNumberOperateRepositories;
|
||||
_serialNumberService = serialNumberService;
|
||||
_erpOpsSyncDateRepositories = erpOpsSyncDateRepositories;
|
||||
_serialNumbersRepositories = serialNumbersRepositories;
|
||||
}
|
||||
@@ -96,7 +96,7 @@ namespace WMS.Web.Domain.Services
|
||||
isSuccess = await _serialNumbersRepositories.AddRange(sList, false);
|
||||
if (!isSuccess) isRollback = true;
|
||||
//序列号操作记录
|
||||
var res = await this.SerialNumberOperate(soList, false);
|
||||
var res = await _serialNumberService.SerialNumberOperate(soList, false);
|
||||
if (!res.Success) isRollback = true;
|
||||
//更新时间管理
|
||||
isSuccess = await _erpOpsSyncDateRepositories.Edit(ErpOpsSyncType.Ops, false);
|
||||
@@ -108,17 +108,5 @@ namespace WMS.Web.Domain.Services
|
||||
|
||||
return Result.ReSuccess();
|
||||
}
|
||||
/// <summary>
|
||||
/// 序列号操作记录日志
|
||||
/// </summary>
|
||||
/// <param name="list"></param>
|
||||
/// <param name="isTransaction"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<Result> SerialNumberOperate(List<SerialNumberOperate> list, bool isTransaction = true)
|
||||
{
|
||||
var isSuccess = await _serialNumberOperateRepositories.AddRange(list, isTransaction);
|
||||
if (!isSuccess) return Result.ReFailure(ResultCodes.DateWriteError);
|
||||
return Result.ReSuccess();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,9 +26,11 @@ namespace WMS.Web.Domain.Services
|
||||
public readonly IBasicsRepositories _transactionRepositories;
|
||||
private readonly IMoveBoxRecordRepositories _moveBoxRecordRepositories;
|
||||
private readonly IBoxRepositories _boxRepositories;
|
||||
private readonly ISerialNumberService _serialNumberService;
|
||||
public ChangeMoveBoxService(IMapper mapper, ILoginService loginService,
|
||||
IChangeBoxRecordRepositories changeBoxRecordRepositories, IBasicsRepositories transactionRepositories,
|
||||
IMoveBoxRecordRepositories moveBoxRecordRepositories, IBoxRepositories boxRepositories)
|
||||
IMoveBoxRecordRepositories moveBoxRecordRepositories, IBoxRepositories boxRepositories,
|
||||
ISerialNumberService serialNumberService)
|
||||
{
|
||||
_mapper = mapper;
|
||||
_loginService = loginService;
|
||||
@@ -36,6 +38,7 @@ namespace WMS.Web.Domain.Services
|
||||
_transactionRepositories = transactionRepositories;
|
||||
_moveBoxRecordRepositories = moveBoxRecordRepositories;
|
||||
_boxRepositories = boxRepositories;
|
||||
_serialNumberService = serialNumberService;
|
||||
}
|
||||
/// <summary>
|
||||
/// 改箱保存
|
||||
@@ -85,11 +88,11 @@ namespace WMS.Web.Domain.Services
|
||||
bool isSuccess = true;
|
||||
isSuccess = await _changeBoxRecordRepositories.AddRange(list, false);
|
||||
if (!isSuccess) isRollback = true;
|
||||
|
||||
var res_change = await _serialNumberService.ChangeBox(list, loginInfo, false);
|
||||
if(!res_change.IsSuccess) isRollback = true;
|
||||
isSuccess = await _boxRepositories.EditEntityList(boxList, false);
|
||||
if (!isSuccess) isRollback = true;
|
||||
|
||||
|
||||
//提交事务
|
||||
if (isTransaction)
|
||||
{
|
||||
|
||||
@@ -1,14 +1,119 @@
|
||||
using System;
|
||||
using Microsoft.EntityFrameworkCore.Storage;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using WMS.Web.Core.Dto.Login;
|
||||
using WMS.Web.Core.Internal.Results;
|
||||
using WMS.Web.Domain.Entitys;
|
||||
using WMS.Web.Domain.Infrastructure;
|
||||
using WMS.Web.Domain.IService;
|
||||
using WMS.Web.Domain.IService.Public;
|
||||
using WMS.Web.Domain.Values;
|
||||
using WMS.Web.Domain.Values.Single;
|
||||
|
||||
namespace WMS.Web.Domain.Services
|
||||
{
|
||||
/// <summary>
|
||||
/// 序列号服务
|
||||
/// </summary>
|
||||
public class SerialNumberService: ISerialNumberService
|
||||
public class SerialNumberService : ISerialNumberService
|
||||
{
|
||||
private readonly ISerialNumberOperateRepositories _serialNumberOperateRepositories;
|
||||
private readonly ISerialNumbersRepositories _serialNumbersRepositories;
|
||||
public readonly IBasicsRepositories _transactionRepositories;
|
||||
public readonly IBoxRepositories _boxRepositories;
|
||||
private readonly ISingleDataService _singleDataService;
|
||||
public SerialNumberService(ISerialNumberOperateRepositories serialNumberOperateRepositories,
|
||||
ISerialNumbersRepositories serialNumbersRepositories, IBasicsRepositories transactionRepositories,
|
||||
IBoxRepositories boxRepositories, ISingleDataService singleDataService)
|
||||
{
|
||||
_serialNumberOperateRepositories = serialNumberOperateRepositories;
|
||||
_serialNumbersRepositories = serialNumbersRepositories;
|
||||
_transactionRepositories = transactionRepositories;
|
||||
_boxRepositories = boxRepositories;
|
||||
_singleDataService = singleDataService;
|
||||
}
|
||||
/// <summary>
|
||||
/// 改箱
|
||||
/// </summary>
|
||||
/// <param name="changeBoxRecords"></param>
|
||||
/// <param name="isTransaction"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<Result> ChangeBox(List<ChangeBoxRecord> changeBoxRecords, LoginInDto loginInfo, bool isTransaction = true)
|
||||
{
|
||||
//获取序列号信息
|
||||
var serialNumbers = changeBoxRecords.SelectMany(s => s.SerialNumbers).ToList();
|
||||
var entityList = await _serialNumbersRepositories.GetEntityList(serialNumbers);
|
||||
var boxIds = changeBoxRecords.Select(s => s.DestBoxId).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 destBoxId = changeBoxRecords.FirstOrDefault(f => f.SerialNumbers.Contains(entity.SerialNumber)).DestBoxId;
|
||||
//修改序列号和箱绑定关系
|
||||
entity.Operate(destBoxId);
|
||||
|
||||
var box = boxList.FirstOrDefault(f=>f.Id==destBoxId);
|
||||
//记录序列号操作日志
|
||||
SerialNumberOperate op = new SerialNumberOperate()
|
||||
{
|
||||
MaterialId = entity.MaterialId,
|
||||
SerialNumber = entity.SerialNumber,
|
||||
OrgId = box.OrgId,
|
||||
SupplierId = box.SupplierId,
|
||||
OperateTime = DateTime.Now,
|
||||
OperateType = SerialNumberOperateType.ChangeBox,
|
||||
OperateUser = userName,
|
||||
Remark = "箱号:" + box.BoxBillNo
|
||||
};
|
||||
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();
|
||||
}
|
||||
/// <summary>
|
||||
/// 操作序列号(出库操作)
|
||||
/// </summary>
|
||||
/// <param name="serialNumbers"></param>
|
||||
/// <returns></returns>
|
||||
public Task<Result> OutStock(List<string> serialNumbers, bool isTransaction = true)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 序列号操作记录日志
|
||||
/// </summary>
|
||||
/// <param name="list"></param>
|
||||
/// <param name="isTransaction"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<Result> SerialNumberOperate(List<SerialNumberOperate> list, bool isTransaction = true)
|
||||
{
|
||||
var isSuccess = await _serialNumberOperateRepositories.AddRange(list, isTransaction);
|
||||
if (!isSuccess) return Result.ReFailure(ResultCodes.DateWriteError);
|
||||
return Result.ReSuccess();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -158,5 +158,19 @@ namespace WMS.Web.Repositories
|
||||
return false;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 获取箱集合
|
||||
/// </summary>
|
||||
/// <param name="ids"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<List<Box>> GetEntityList(List<int> ids)
|
||||
{
|
||||
var res = await _context.Box
|
||||
.Include(s => s.Details)
|
||||
.Where(f => ids.Contains(f.Id))
|
||||
.ToListAsync();
|
||||
|
||||
return res.Clone();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user