From d63f2320e00849a1ea65f52752f83a92426d22de Mon Sep 17 00:00:00 2001 From: tongfei <244188119@qq.com> Date: Mon, 6 Nov 2023 16:56:23 +0800 Subject: [PATCH] test --- .vs/WMS.Web/DesignTimeBuild/.dtbcache.v2 | Bin 228751 -> 228751 bytes src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml | 50 ++++++++++++++++++ src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml | 12 +++++ .../UpdateInStockTaskDetailsRequest.cs | 40 ++++++++++++++ src/WMS.Web.Domain/Entitys/InstockTask.cs | 6 ++- .../Infrastructure/IBasicsRepositories.cs | 15 +++++- src/WMS.Web.Domain/Mappers/InStockMapper.cs | 19 +++++-- .../Services/BackRecordService.cs | 10 ++-- src/WMS.Web.Domain/Services/InStockService.cs | 22 ++++---- .../Services/InStockTaskService.cs | 6 +-- .../Services/Public/ErpService.cs | 3 -- .../BasicsRepositories.cs | 28 ++++++++++ .../AppBuilderExtensions.cs | 5 +- .../InStockTaskRepositories.cs | 6 +-- 14 files changed, 188 insertions(+), 34 deletions(-) diff --git a/.vs/WMS.Web/DesignTimeBuild/.dtbcache.v2 b/.vs/WMS.Web/DesignTimeBuild/.dtbcache.v2 index d9b4bd5c2f8561c835430bd6ac1bad1fa2ad4244..596f520b65f4b3efed62a38870faa381fa2a658e 100644 GIT binary patch literal 228751 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 diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml index e52b42f5..3d3589af 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml @@ -1115,16 +1115,66 @@ 明细ID + + + 供应商Id + + + + + 组织ID + + + + + 收货仓库 + + + + + 收货仓库编码(对应金蝶和单点) + + 物料ID + + + 出厂价(对应金蝶数据) + + + + + 应入数量(对应金蝶的订单数量-对应物料) + + + + + 已交数量(对应金蝶的已交数量-对应物料),目前只有采购订单有 + + 收货数量 + + + 实际入库数量(仓库人员现场入库的数量)上架动作 + + + + + 明细备注 + + + + + 创建时间(erp那边的创建时间) + + 入库任务-修改请求对象 diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml index 925140bc..8c702984 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml @@ -1134,6 +1134,18 @@ + + + 获取事务 用来处理即时库存 + + + + + + 获取事务 用来处理即时库存 + + + 箱库存-仓储接口 diff --git a/src/WMS.Web.Core/Dto/InStockTask/UpdateInStockTaskDetailsRequest.cs b/src/WMS.Web.Core/Dto/InStockTask/UpdateInStockTaskDetailsRequest.cs index 63e859f9..f8ce406c 100644 --- a/src/WMS.Web.Core/Dto/InStockTask/UpdateInStockTaskDetailsRequest.cs +++ b/src/WMS.Web.Core/Dto/InStockTask/UpdateInStockTaskDetailsRequest.cs @@ -14,12 +14,52 @@ namespace WMS.Web.Core.Dto.InStockTask /// public override int Id { get; set; } = 0; /// + /// 供应商Id + /// + public int SupplierId { get; set; } + /// + /// 组织ID + /// + public int OrgId { get; set; } + /// + /// 收货仓库 + /// + public int StockId { get; set; } + /// + /// 收货仓库编码(对应金蝶和单点) + /// + public string StockCode { get; set; } + /// /// 物料ID /// public int MaterialId { get; set; } /// + /// 出厂价(对应金蝶数据) + /// + public decimal FactoryPrice { get; set; } + /// + /// 应入数量(对应金蝶的订单数量-对应物料) + /// + public decimal AccruedQty { get; set; } + /// + /// 已交数量(对应金蝶的已交数量-对应物料),目前只有采购订单有 + /// + public decimal DeliveredQty { get; set; } + /// /// 收货数量 /// public decimal ReceiveQty { get; set; } + /// + /// 实际入库数量(仓库人员现场入库的数量)上架动作 + /// + public decimal RealityQty { get; set; } + /// + /// 明细备注 + /// + public string Remark { get; set; } + /// + /// 创建时间(erp那边的创建时间) + /// + public DateTime CreateTime { get; set; } } } diff --git a/src/WMS.Web.Domain/Entitys/InstockTask.cs b/src/WMS.Web.Domain/Entitys/InstockTask.cs index d37fcdb0..a17dfd11 100644 --- a/src/WMS.Web.Domain/Entitys/InstockTask.cs +++ b/src/WMS.Web.Domain/Entitys/InstockTask.cs @@ -54,12 +54,14 @@ namespace WMS.Web.Domain.Entitys /// /// 箱信息集合 /// - public List Boxs { get; set; } + [NotMapped] + public virtual List Boxs { get; set; } /// /// 明细 /// - public List Details { get; set; } + [NotMapped] + public virtual List Details { get; set; } /// /// 创建 diff --git a/src/WMS.Web.Domain/Infrastructure/IBasicsRepositories.cs b/src/WMS.Web.Domain/Infrastructure/IBasicsRepositories.cs index 6aa79d15..9e93c5c7 100644 --- a/src/WMS.Web.Domain/Infrastructure/IBasicsRepositories.cs +++ b/src/WMS.Web.Domain/Infrastructure/IBasicsRepositories.cs @@ -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 /// /// Task> GetUcStockAsync(string systemCode,string name, int companyId); + + /// + /// 获取事务 用来处理即时库存 + /// + /// + IDbContextTransaction GetTransaction(); + + /// + /// 获取事务 用来处理即时库存 + /// + /// + bool CommitTransaction(bool isRollback, IDbContextTransaction transaction); } } diff --git a/src/WMS.Web.Domain/Mappers/InStockMapper.cs b/src/WMS.Web.Domain/Mappers/InStockMapper.cs index b0eebe08..5729a2a1 100644 --- a/src/WMS.Web.Domain/Mappers/InStockMapper.cs +++ b/src/WMS.Web.Domain/Mappers/InStockMapper.cs @@ -16,11 +16,24 @@ namespace WMS.Web.Domain.Mappers { public InStockMapper() { - CreateMap() - .ForMember(x => x.Boxs, opt => opt.Ignore()) - .ForMember(x => x.Details, opt => opt.Ignore()); + CreateMap(); + //.ForMember(x => x.Boxs, opt => opt.Ignore()) + //.ForMember(x => x.Details, opt => opt.Ignore()); CreateMap(); + //.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(); + //CreateMap().ReverseMap(); + //CreateMap().ReverseMap(); + //CreateMap().ReverseMap(); diff --git a/src/WMS.Web.Domain/Services/BackRecordService.cs b/src/WMS.Web.Domain/Services/BackRecordService.cs index 3c8321e7..15d9d50b 100644 --- a/src/WMS.Web.Domain/Services/BackRecordService.cs +++ b/src/WMS.Web.Domain/Services/BackRecordService.cs @@ -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 /// public async Task 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); diff --git a/src/WMS.Web.Domain/Services/InStockService.cs b/src/WMS.Web.Domain/Services/InStockService.cs index 8b46e41a..de8383b8 100644 --- a/src/WMS.Web.Domain/Services/InStockService.cs +++ b/src/WMS.Web.Domain/Services/InStockService.cs @@ -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 /// public async Task 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 /// public async Task 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 diff --git a/src/WMS.Web.Domain/Services/InStockTaskService.cs b/src/WMS.Web.Domain/Services/InStockTaskService.cs index 5881d71c..660cedca 100644 --- a/src/WMS.Web.Domain/Services/InStockTaskService.cs +++ b/src/WMS.Web.Domain/Services/InStockTaskService.cs @@ -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; } diff --git a/src/WMS.Web.Domain/Services/Public/ErpService.cs b/src/WMS.Web.Domain/Services/Public/ErpService.cs index 4e789263..2a979042 100644 --- a/src/WMS.Web.Domain/Services/Public/ErpService.cs +++ b/src/WMS.Web.Domain/Services/Public/ErpService.cs @@ -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 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; } diff --git a/src/WMS.Web.Repositories/BasicsRepositories.cs b/src/WMS.Web.Repositories/BasicsRepositories.cs index b3b04df5..e3b8c2b9 100644 --- a/src/WMS.Web.Repositories/BasicsRepositories.cs +++ b/src/WMS.Web.Repositories/BasicsRepositories.cs @@ -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; + } } } diff --git a/src/WMS.Web.Repositories/DependencyInjection/AppBuilderExtensions.cs b/src/WMS.Web.Repositories/DependencyInjection/AppBuilderExtensions.cs index 3c56a965..a4847dce 100644 --- a/src/WMS.Web.Repositories/DependencyInjection/AppBuilderExtensions.cs +++ b/src/WMS.Web.Repositories/DependencyInjection/AppBuilderExtensions.cs @@ -32,10 +32,9 @@ namespace Microsoft.Extensions.DependencyInjection { services.AddHttpContextAccessor(); services.AddScoped(); - services.AddScoped(); + //services.AddScoped(); services.AddScoped(); - - services.AddTransient(); + services.AddTransient(); services.AddTransient(); services.AddTransient(); diff --git a/src/WMS.Web.Repositories/InStockTaskRepositories.cs b/src/WMS.Web.Repositories/InStockTaskRepositories.cs index a5e1533d..1bb18876 100644 --- a/src/WMS.Web.Repositories/InStockTaskRepositories.cs +++ b/src/WMS.Web.Repositories/InStockTaskRepositories.cs @@ -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; } /// @@ -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();