test
This commit is contained in:
Binary file not shown.
@@ -1115,16 +1115,66 @@
|
||||
明细ID
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.InStockTask.UpdateInStockTaskDetailsRequest.SupplierId">
|
||||
<summary>
|
||||
供应商Id
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.InStockTask.UpdateInStockTaskDetailsRequest.OrgId">
|
||||
<summary>
|
||||
组织ID
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.InStockTask.UpdateInStockTaskDetailsRequest.StockId">
|
||||
<summary>
|
||||
收货仓库
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.InStockTask.UpdateInStockTaskDetailsRequest.StockCode">
|
||||
<summary>
|
||||
收货仓库编码(对应金蝶和单点)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.InStockTask.UpdateInStockTaskDetailsRequest.MaterialId">
|
||||
<summary>
|
||||
物料ID
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.InStockTask.UpdateInStockTaskDetailsRequest.FactoryPrice">
|
||||
<summary>
|
||||
出厂价(对应金蝶数据)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.InStockTask.UpdateInStockTaskDetailsRequest.AccruedQty">
|
||||
<summary>
|
||||
应入数量(对应金蝶的订单数量-对应物料)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.InStockTask.UpdateInStockTaskDetailsRequest.DeliveredQty">
|
||||
<summary>
|
||||
已交数量(对应金蝶的已交数量-对应物料),目前只有采购订单有
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.InStockTask.UpdateInStockTaskDetailsRequest.ReceiveQty">
|
||||
<summary>
|
||||
收货数量
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.InStockTask.UpdateInStockTaskDetailsRequest.RealityQty">
|
||||
<summary>
|
||||
实际入库数量(仓库人员现场入库的数量)上架动作
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.InStockTask.UpdateInStockTaskDetailsRequest.Remark">
|
||||
<summary>
|
||||
明细备注
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.InStockTask.UpdateInStockTaskDetailsRequest.CreateTime">
|
||||
<summary>
|
||||
创建时间(erp那边的创建时间)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:WMS.Web.Core.Dto.InStockTask.UpdateInStockTaskRequest">
|
||||
<summary>
|
||||
入库任务-修改请求对象
|
||||
|
||||
@@ -1134,6 +1134,18 @@
|
||||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:WMS.Web.Domain.Infrastructure.IBasicsRepositories.GetTransaction">
|
||||
<summary>
|
||||
获取事务 用来处理即时库存
|
||||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:WMS.Web.Domain.Infrastructure.IBasicsRepositories.CommitTransaction(System.Boolean,Microsoft.EntityFrameworkCore.Storage.IDbContextTransaction)">
|
||||
<summary>
|
||||
获取事务 用来处理即时库存
|
||||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="T:WMS.Web.Domain.Infrastructure.IBoxInventoryRepositories">
|
||||
<summary>
|
||||
箱库存-仓储接口
|
||||
|
||||
@@ -14,12 +14,52 @@ namespace WMS.Web.Core.Dto.InStockTask
|
||||
/// </summary>
|
||||
public override int Id { get; set; } = 0;
|
||||
/// <summary>
|
||||
/// 供应商Id
|
||||
/// </summary>
|
||||
public int SupplierId { get; set; }
|
||||
/// <summary>
|
||||
/// 组织ID
|
||||
/// </summary>
|
||||
public int OrgId { get; set; }
|
||||
/// <summary>
|
||||
/// 收货仓库
|
||||
/// </summary>
|
||||
public int StockId { get; set; }
|
||||
/// <summary>
|
||||
/// 收货仓库编码(对应金蝶和单点)
|
||||
/// </summary>
|
||||
public string StockCode { get; set; }
|
||||
/// <summary>
|
||||
/// 物料ID
|
||||
/// </summary>
|
||||
public int MaterialId { get; set; }
|
||||
/// <summary>
|
||||
/// 出厂价(对应金蝶数据)
|
||||
/// </summary>
|
||||
public decimal FactoryPrice { get; set; }
|
||||
/// <summary>
|
||||
/// 应入数量(对应金蝶的订单数量-对应物料)
|
||||
/// </summary>
|
||||
public decimal AccruedQty { get; set; }
|
||||
/// <summary>
|
||||
/// 已交数量(对应金蝶的已交数量-对应物料),目前只有采购订单有
|
||||
/// </summary>
|
||||
public decimal DeliveredQty { get; set; }
|
||||
/// <summary>
|
||||
/// 收货数量
|
||||
/// </summary>
|
||||
public decimal ReceiveQty { get; set; }
|
||||
/// <summary>
|
||||
/// 实际入库数量(仓库人员现场入库的数量)上架动作
|
||||
/// </summary>
|
||||
public decimal RealityQty { get; set; }
|
||||
/// <summary>
|
||||
/// 明细备注
|
||||
/// </summary>
|
||||
public string Remark { get; set; }
|
||||
/// <summary>
|
||||
/// 创建时间(erp那边的创建时间)
|
||||
/// </summary>
|
||||
public DateTime CreateTime { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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>
|
||||
/// 创建
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using AutoMapper;
|
||||
using Microsoft.EntityFrameworkCore.Storage;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
@@ -79,5 +80,32 @@ namespace WMS.Web.Repositories
|
||||
return null;
|
||||
return result.Data.ToList();
|
||||
}
|
||||
|
||||
public IDbContextTransaction GetTransaction()
|
||||
{
|
||||
return _context.Database.BeginTransaction();
|
||||
}
|
||||
|
||||
public bool CommitTransaction(bool isRollback, IDbContextTransaction transaction)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (transaction == null)
|
||||
return true;
|
||||
|
||||
if (isRollback)
|
||||
{
|
||||
transaction.Rollback();
|
||||
return false;
|
||||
}
|
||||
transaction.Commit();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
transaction.Rollback();
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -32,10 +32,9 @@ namespace Microsoft.Extensions.DependencyInjection
|
||||
{
|
||||
services.AddHttpContextAccessor();
|
||||
services.AddScoped<ILoginRepositories, LoginRepositories>();
|
||||
services.AddScoped<IBasicsRepositories, BasicsRepositories>();
|
||||
//services.AddScoped<IBasicsRepositories, BasicsRepositories>();
|
||||
services.AddScoped<IBoxRepositories, BoxRepositories>();
|
||||
|
||||
services.AddTransient<ITransactionRepositories, TransactionRepositories>();
|
||||
services.AddTransient<IBasicsRepositories, BasicsRepositories>();
|
||||
|
||||
services.AddTransient<IInStockRepositories, InStockRepositories>();
|
||||
services.AddTransient<IInStockTaskRepositories, InStockTaskRepositories>();
|
||||
|
||||
@@ -131,7 +131,8 @@ namespace WMS.Web.Repositories
|
||||
.Include(s => s.Details)
|
||||
.FirstOrDefaultAsync(f => f.Id == id);
|
||||
|
||||
return entity.Clone();
|
||||
//return entity.Clone();
|
||||
return entity;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -339,14 +340,13 @@ namespace WMS.Web.Repositories
|
||||
try
|
||||
{
|
||||
var model = await _context.InStockTask
|
||||
.AsNoTracking()
|
||||
.Include(s=>s.Boxs)
|
||||
.Include(s => s.Details)
|
||||
.FirstOrDefaultAsync(f => f.Id == entity.Id);
|
||||
if (model == null)
|
||||
return null;
|
||||
_mapper.Map(entity, model);
|
||||
_mapper.ToMapList(entity.Boxs, model.Boxs);
|
||||
_mapper.ToMapList(entity.Details, model.Details);
|
||||
var result= await _context.SaveChangesAsync();
|
||||
if (_transaction != null)
|
||||
_transaction.Commit();
|
||||
|
||||
Reference in New Issue
Block a user