This commit is contained in:
tongfei
2023-11-06 16:56:23 +08:00
parent 78db8b7f24
commit d63f2320e0
14 changed files with 188 additions and 34 deletions

View File

@@ -54,12 +54,14 @@ namespace WMS.Web.Domain.Entitys
/// <summary>
/// 箱信息集合
/// </summary>
public List<InStockTaskBox> Boxs { get; set; }
[NotMapped]
public virtual List<InStockTaskBox> Boxs { get; set; }
/// <summary>
/// 明细
/// </summary>
public List<InStockTaskDetails> Details { get; set; }
[NotMapped]
public virtual List<InStockTaskDetails> Details { get; set; }
/// <summary>
/// 创建

View File

@@ -1,4 +1,5 @@
using System;
using Microsoft.EntityFrameworkCore.Storage;
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
@@ -37,5 +38,17 @@ namespace WMS.Web.Domain.Infrastructure
/// </summary>
/// <returns></returns>
Task<List<UcStockResponse>> GetUcStockAsync(string systemCode,string name, int companyId);
/// <summary>
/// 获取事务 用来处理即时库存
/// </summary>
/// <returns></returns>
IDbContextTransaction GetTransaction();
/// <summary>
/// 获取事务 用来处理即时库存
/// </summary>
/// <returns></returns>
bool CommitTransaction(bool isRollback, IDbContextTransaction transaction);
}
}

View File

@@ -16,11 +16,24 @@ namespace WMS.Web.Domain.Mappers
{
public InStockMapper()
{
CreateMap<UpdateInStockTaskRequest, InStockTask>()
.ForMember(x => x.Boxs, opt => opt.Ignore())
.ForMember(x => x.Details, opt => opt.Ignore());
CreateMap<UpdateInStockTaskRequest, InStockTask>();
//.ForMember(x => x.Boxs, opt => opt.Ignore())
//.ForMember(x => x.Details, opt => opt.Ignore());
CreateMap<UpdateInStockTaskDetailsRequest, InStockTaskDetails>();
//.ForMember(x => x.SupplierId, opt => opt.Ignore())
//.ForMember(x => x.OrgId, opt => opt.Ignore())
//.ForMember(x => x.StockId, opt => opt.Ignore())
//.ForMember(x => x.StockCode, opt => opt.Ignore())
//.ForMember(x => x.FactoryPrice, opt => opt.Ignore())
//.ForMember(x => x.AccruedQty, opt => opt.Ignore())
//.ForMember(x => x.DeliveredQty, opt => opt.Ignore())
//.ForMember(x => x.RealityQty, opt => opt.Ignore())
//.ForMember(x => x.Remark, opt => opt.Ignore())
//.ForMember(x => x.CreateTime, opt => opt.Ignore());
CreateMap<UpdateInStockTaskBoxRequest, InStockTaskBox>();
//CreateMap<InStockTask, InStockTask>().ReverseMap();
//CreateMap<InStockTaskDetails, InStockTaskDetails>().ReverseMap();
//CreateMap<InStockTaskBox, InStockTaskBox>().ReverseMap();

View File

@@ -22,15 +22,15 @@ namespace WMS.Web.Domain.Services
{
private readonly IMapper _mapper;
private readonly ILoginService _loginService;
public readonly ITransactionRepositories _transactionRepositories;
public readonly IBasicsRepositories _basicsRepositories;
private readonly IBackRecordRepositories _backRecordRepositories;
public BackRecordService(IMapper mapper, ILoginService loginService,
ITransactionRepositories transactionRepositories,
IBasicsRepositories basicsRepositories,
IBackRecordRepositories backRecordRepositories)
{
_mapper = mapper;
_loginService = loginService;
_transactionRepositories = transactionRepositories;
_basicsRepositories = basicsRepositories;
_backRecordRepositories = backRecordRepositories;
}
@@ -42,7 +42,7 @@ namespace WMS.Web.Domain.Services
/// <returns></returns>
public async Task<Result> BackShelf(SaveBackRecordRequest dto, LoginInDto loginInfo)
{
IDbContextTransaction _transaction = _transactionRepositories.GetTransaction();
IDbContextTransaction _transaction = _basicsRepositories.GetTransaction();
bool isRollback = false;
bool isTransaction = false;
@@ -53,7 +53,7 @@ namespace WMS.Web.Domain.Services
entity = await _backRecordRepositories.Add(entity, isTransaction);
//提交事务
var isSuccess = _transactionRepositories.CommitTransaction(isRollback, _transaction);
var isSuccess = _basicsRepositories.CommitTransaction(isRollback, _transaction);
if (!isSuccess)
return Result.ReFailure(ResultCodes.DateWriteError);

View File

@@ -27,17 +27,17 @@ namespace WMS.Web.Domain.Services
private readonly IMapper _mapper;
private readonly ILoginService _loginService;
private readonly IBoxRepositories _boxRepositories;
public readonly ITransactionRepositories _transactionRepositories;
private readonly IBasicsRepositories _basicsRepositories;
private readonly IInStockRepositories _inStockRepositories;
private readonly IInStockTaskRepositories _inStockTaskRepositories;
public InStockService(IMapper mapper, ILoginService loginService, IBoxRepositories boxRepositories,
ITransactionRepositories transactionRepositories,
IBasicsRepositories basicsRepositories,
IInStockRepositories inStockRepositories, IInStockTaskRepositories inStockTaskRepositories)
{
_mapper = mapper;
_loginService = loginService;
_boxRepositories = boxRepositories;
_transactionRepositories = transactionRepositories;
_basicsRepositories = basicsRepositories;
_inStockRepositories = inStockRepositories;
_inStockTaskRepositories = inStockTaskRepositories;
}
@@ -64,14 +64,14 @@ namespace WMS.Web.Domain.Services
/// <returns></returns>
public async Task<Result> Receive(UpdateInStockTaskRequest dto, LoginInDto loginInfo)
{
IDbContextTransaction _transaction = _transactionRepositories.GetTransaction();
IDbContextTransaction _transaction = _basicsRepositories.GetTransaction();
bool isRollback = false;
bool isTransaction = false;
var result = await this.Update(dto, loginInfo.UserInfo.StaffId,true, isTransaction);
if (!result.IsSuccess) isRollback = true;
//提交事务
var isSuccess = _transactionRepositories.CommitTransaction(isRollback, _transaction);
var isSuccess = _basicsRepositories.CommitTransaction(isRollback, _transaction);
if (!isSuccess)
return Result.ReFailure(ResultCodes.DateWriteError);
@@ -86,7 +86,7 @@ namespace WMS.Web.Domain.Services
/// <returns></returns>
public async Task<Result> Shelf(PurchaseShelfRequest instock, LoginInDto loginInfo)
{
IDbContextTransaction _transaction = _transactionRepositories.GetTransaction();
IDbContextTransaction _transaction = _basicsRepositories.GetTransaction();
bool isRollback = false;
bool isTransaction = false;
//1.添加入库单同步金蝶在save方法里面进行
@@ -100,7 +100,7 @@ namespace WMS.Web.Domain.Services
}
//提交事务
var isSuccess = _transactionRepositories.CommitTransaction(isRollback, _transaction);
var isSuccess = _basicsRepositories.CommitTransaction(isRollback, _transaction);
if (!isSuccess)
return Result.ReFailure(ResultCodes.DateWriteError);
@@ -180,10 +180,10 @@ namespace WMS.Web.Domain.Services
return Result.ReFailure(ResultCodes.DateWriteError);
entity = _mapper.Map(dto, entity);
//子集单独映射
entity.Boxs = _mapper.ToMapList(dto.Boxs, entity.Boxs);
//子集单独映射
entity.Details = _mapper.ToMapList(dto.Details, entity.Details);
////子集单独映射
//entity.Boxs = _mapper.ToMapList(dto.Boxs, entity.Boxs);
////子集单独映射
//entity.Details = _mapper.ToMapList(dto.Details, entity.Details);
if (isReceive)
entity.Receive(staffId);
else

View File

@@ -22,17 +22,17 @@ namespace WMS.Web.Domain.Services
private readonly IMapper _mapper;
private readonly IErpService _erpService;
private readonly ILoginService _loginService;
private readonly ITransactionRepositories _transactionRepositories;
private readonly IBasicsRepositories _basicsRepositories;
private readonly IInStockRepositories _inStockRepositories;
private readonly IInStockTaskRepositories _inStockTaskRepositories;
public InStockTaskService(IMapper mapper, IErpService erpService, ILoginService loginService,
ITransactionRepositories transactionRepositories,
IBasicsRepositories basicsRepositories,
IInStockRepositories inStockRepositories, IInStockTaskRepositories inStockTaskRepositories)
{
_mapper = mapper;
_erpService = erpService;
_loginService = loginService;
_transactionRepositories = transactionRepositories;
_basicsRepositories = basicsRepositories;
_inStockRepositories = inStockRepositories;
_inStockTaskRepositories = inStockTaskRepositories;
}

View File

@@ -40,7 +40,6 @@ namespace WMS.Web.Domain.Services.Public
private readonly IMemoryCache _memoryCache;
private readonly IInStockTaskRepositories _inStockTaskRepositories;
private readonly ISingleDataService _singleDataService;
public readonly ITransactionRepositories _transactionRepositories;
private readonly ILoginRepositories _loginRepositories;
private readonly IBasicsRepositories _basicsRepositories;
public ErpService(
@@ -50,7 +49,6 @@ namespace WMS.Web.Domain.Services.Public
ILogger<ErpService> logger,
IMemoryCache memoryCache,
IInStockTaskRepositories inStockTaskRepositories,
ITransactionRepositories transactionRepositories,
ISingleDataService singleDataService,
ILoginRepositories loginRepositories, IBasicsRepositories basicsRepositories)
{
@@ -61,7 +59,6 @@ namespace WMS.Web.Domain.Services.Public
this._logger = logger;
this._memoryCache = memoryCache;
this._inStockTaskRepositories = inStockTaskRepositories;
this._transactionRepositories = transactionRepositories;
this._singleDataService = singleDataService;
this._loginRepositories = loginRepositories;
}