From 5f4e00a4367c32a34afc36a0b9f2f0afebab612b Mon Sep 17 00:00:00 2001 From: 18942506660 <18942506660@A18942506660> Date: Thu, 26 Oct 2023 16:52:24 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B9=E7=AE=B1=E4=BF=9D=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/ChangeBoxRecordController.cs | 23 ++++- src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml | 7 ++ src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml | 95 +++++++++++++++++++ src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml | 39 +++++++- .../SaveChangeBoxRecordRequest.cs | 44 +++++++++ src/WMS.Web.Domain/Entitys/ChangeBoxRecord.cs | 9 ++ .../IService/IChangeMoveBoxService.cs | 20 ++++ .../Mappers/ChangeBoxRecordMapper.cs | 20 ++++ .../Services/ChangeMoveBoxService.cs | 44 +++++++++ src/WMS.Web.Domain/Values/ResultCodes.cs | 4 + .../DependencyInjection/AppBuilder.cs | 5 + 11 files changed, 303 insertions(+), 7 deletions(-) create mode 100644 src/WMS.Web.Core/Dto/ChangeBoxRecord/SaveChangeBoxRecordRequest.cs create mode 100644 src/WMS.Web.Domain/IService/IChangeMoveBoxService.cs create mode 100644 src/WMS.Web.Domain/Mappers/ChangeBoxRecordMapper.cs create mode 100644 src/WMS.Web.Domain/Services/ChangeMoveBoxService.cs diff --git a/src/WMS.Web.Api/Controllers/ChangeBoxRecordController.cs b/src/WMS.Web.Api/Controllers/ChangeBoxRecordController.cs index 3edb9356..186905b3 100644 --- a/src/WMS.Web.Api/Controllers/ChangeBoxRecordController.cs +++ b/src/WMS.Web.Api/Controllers/ChangeBoxRecordController.cs @@ -8,7 +8,9 @@ using System.Threading.Tasks; using WMS.Web.Core.Dto; using WMS.Web.Core.Dto.ChangeBoxRecord; 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; @@ -24,11 +26,13 @@ namespace WMS.Web.Api.Controllers private readonly IMapper _mapper; private readonly ILoginService _loginService; private readonly IChangeBoxRecordRepositories _repositories; - public ChangeBoxRecordController(IMapper mapper, ILoginService loginService, IChangeBoxRecordRepositories repositories) + private readonly IChangeMoveBoxService _changeMoveBoxService; + public ChangeBoxRecordController(IMapper mapper, ILoginService loginService, IChangeBoxRecordRepositories repositories, IChangeMoveBoxService changeMoveBoxService) { _mapper = mapper; _loginService = loginService; _repositories = repositories; + _changeMoveBoxService = changeMoveBoxService; } /// /// 列表 @@ -44,8 +48,23 @@ namespace WMS.Web.Api.Controllers return ResultPagedList.ReFailure(ResultCodes.Token_Invalid_Error); var (list, count) = await _repositories.GetListAsync(dto); - var result = ResultPagedList.ReSuccess(list,count); + var result = ResultPagedList.ReSuccess(list, count); return result; } + /// + /// 保存 + /// + /// + /// + [HttpPost] + [Route("Save")] + public async Task Save(SaveChangeBoxRecordRequest dto) + { + var loginInfo = _loginService.GetLoginInfo(this.HttpContext.Request.Headers["Authorization"]); + if (loginInfo == null || loginInfo.UserInfo == null) + return Result.ReFailure(ResultCodes.Token_Invalid_Error); + + return await _changeMoveBoxService.Save(dto, loginInfo); + } } } diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml index f52ae928..fa5575e3 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml @@ -16,6 +16,13 @@ + + + 保存 + + + + 登录接口 diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml index 20913220..2ab86116 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml @@ -130,6 +130,101 @@ 操作时间 结束 + + + 改箱列表 + + + + + 物料名称 + + + + + 物料编码 + + + + + 物料规格型号 + + + + + 仓库 + + + + + 序列号 + + + + + 原箱子 + + + + + 目标箱子 + + + + + 原仓位 + + + + + 目标仓位 + + + + + 操作人 + + + + + 操作时间 + + + + + 保存改箱 + + + + + 物料ID + + + + + 仓库Id + + + + + 原箱子ID + + + + + 目标箱子ID + + + + + 原仓位ID + + + + + 目标仓位ID + + ERP:单据查询-dto diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml index edaaaa7c..6afd41df 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml @@ -149,6 +149,16 @@ 物料ID + + + 仓库Id + + + + + 序列号 + + 原箱子ID @@ -179,6 +189,12 @@ 操作时间 + + + 创建 + + + wms入库单 @@ -764,11 +780,6 @@ 单据头Id - - - 序号 - - 物料ID @@ -819,6 +830,11 @@ wms入库单-仓储接口 + + + 改箱 移箱服务 + + erp:单据查询-采购入库单 @@ -1011,6 +1027,11 @@ mapper映射 + + + 改箱 + + 集合映射 @@ -1117,6 +1138,9 @@ 私钥 + + 改箱 移箱服务 + erp数据交互服务 @@ -1715,6 +1739,11 @@ 无效 + + + 数据操作失败 + + 对接单点的接口方法-枚举 diff --git a/src/WMS.Web.Core/Dto/ChangeBoxRecord/SaveChangeBoxRecordRequest.cs b/src/WMS.Web.Core/Dto/ChangeBoxRecord/SaveChangeBoxRecordRequest.cs new file mode 100644 index 00000000..3aa186f7 --- /dev/null +++ b/src/WMS.Web.Core/Dto/ChangeBoxRecord/SaveChangeBoxRecordRequest.cs @@ -0,0 +1,44 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.Text; + +namespace WMS.Web.Core.Dto.ChangeBoxRecord +{ + /// + /// 保存改箱 + /// + public class SaveChangeBoxRecordRequest + { + /// + /// 物料ID + /// + [Required(ErrorMessage = "物料不能为空")] + public int MaterialId { get; set; } + /// + /// 仓库Id + /// + [Required(ErrorMessage = "仓库不能为空")] + public int StockId { get; set; } + /// + /// 原箱子ID + /// + [Required(ErrorMessage = "原箱子不能为空")] + public int SrcBoxId { get; set; } + /// + /// 目标箱子ID + /// + [Required(ErrorMessage = "目标箱子不能为空")] + public int DestBoxId { get; set; } + /// + /// 原仓位ID + /// + [Required(ErrorMessage = "原仓位不能为空")] + public int SrcSubStockId { get; set; } + /// + /// 目标仓位ID + /// + [Required(ErrorMessage = "目标仓位不能为空")] + public int DestSubStockId { get; set; } + } +} diff --git a/src/WMS.Web.Domain/Entitys/ChangeBoxRecord.cs b/src/WMS.Web.Domain/Entitys/ChangeBoxRecord.cs index 70656bf4..e28d5b20 100644 --- a/src/WMS.Web.Domain/Entitys/ChangeBoxRecord.cs +++ b/src/WMS.Web.Domain/Entitys/ChangeBoxRecord.cs @@ -64,5 +64,14 @@ namespace WMS.Web.Domain.Entitys /// [Column("CreateTime")] public DateTime CreateTime { get; set; } = DateTime.Now; + /// + /// 创建 + /// + /// + public void Create(int creatorId) + { + this.CreatorId = creatorId; + this.CreateTime = DateTime.Now; + } } } diff --git a/src/WMS.Web.Domain/IService/IChangeMoveBoxService.cs b/src/WMS.Web.Domain/IService/IChangeMoveBoxService.cs new file mode 100644 index 00000000..0c8770b8 --- /dev/null +++ b/src/WMS.Web.Domain/IService/IChangeMoveBoxService.cs @@ -0,0 +1,20 @@ + +using System; +using System.Collections.Generic; +using System.Text; +using System.Threading.Tasks; +using WMS.Web.Core.Dto.ChangeBoxRecord; +using WMS.Web.Core.Dto.Login; +using WMS.Web.Core.Internal.Results; +using WMS.Web.Domain.Services; + +namespace WMS.Web.Domain.IService +{ + /// + /// 改箱 移箱服务 + /// + public interface IChangeMoveBoxService + { + Task Save(SaveChangeBoxRecordRequest dto, LoginInDto loginInfo); + } +} diff --git a/src/WMS.Web.Domain/Mappers/ChangeBoxRecordMapper.cs b/src/WMS.Web.Domain/Mappers/ChangeBoxRecordMapper.cs new file mode 100644 index 00000000..95a4947a --- /dev/null +++ b/src/WMS.Web.Domain/Mappers/ChangeBoxRecordMapper.cs @@ -0,0 +1,20 @@ +using AutoMapper; +using System; +using System.Collections.Generic; +using System.Text; +using WMS.Web.Core.Dto.ChangeBoxRecord; +using WMS.Web.Domain.Entitys; + +namespace WMS.Web.Domain.Mappers +{ + /// + /// 改箱 + /// + public class ChangeBoxRecordMapper : Profile + { + public ChangeBoxRecordMapper() + { + CreateMap(); + } + } +} diff --git a/src/WMS.Web.Domain/Services/ChangeMoveBoxService.cs b/src/WMS.Web.Domain/Services/ChangeMoveBoxService.cs new file mode 100644 index 00000000..50f0f904 --- /dev/null +++ b/src/WMS.Web.Domain/Services/ChangeMoveBoxService.cs @@ -0,0 +1,44 @@ +using AutoMapper; +using System; +using System.Collections.Generic; +using System.Text; +using System.Threading.Tasks; +using WMS.Web.Core.Dto.ChangeBoxRecord; +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; + +namespace WMS.Web.Domain.Services +{ + ///改箱 移箱服务 + public class ChangeMoveBoxService : IChangeMoveBoxService + { + private readonly IMapper _mapper; + private readonly ILoginService _loginService; + private readonly IChangeBoxRecordRepositories _changeBoxRecordRepositories; + public ChangeMoveBoxService(IMapper mapper, ILoginService loginService, IChangeBoxRecordRepositories changeBoxRecordRepositories) + { + _mapper = mapper; + _loginService = loginService; + _changeBoxRecordRepositories = changeBoxRecordRepositories; + } + + public async Task Save(SaveChangeBoxRecordRequest dto, LoginInDto loginInfo) + { + var entity = _mapper.Map(dto); + entity.Create(loginInfo.UserInfo.StaffId); + + //需要填写序列号 + //需要修改库存 + + entity = await _changeBoxRecordRepositories.Add(entity, true); + if (entity == null) + return Result.ReFailure(ResultCodes.DateWriteError); + return Result.ReSuccess(); + } + } +} diff --git a/src/WMS.Web.Domain/Values/ResultCodes.cs b/src/WMS.Web.Domain/Values/ResultCodes.cs index 8d7222ff..50def08b 100644 --- a/src/WMS.Web.Domain/Values/ResultCodes.cs +++ b/src/WMS.Web.Domain/Values/ResultCodes.cs @@ -16,5 +16,9 @@ namespace WMS.Web.Domain.Values /// 无效 /// public static ValueTuple Token_Invalid_Error = (401, "验证Token无效,请重新登录"); + /// + /// 数据操作失败 + /// + public static ValueTuple DateWriteError = (40004, "数据操作失败"); } } diff --git a/src/WMS.Web.Repositories/DependencyInjection/AppBuilder.cs b/src/WMS.Web.Repositories/DependencyInjection/AppBuilder.cs index e93d36c5..83c343c0 100644 --- a/src/WMS.Web.Repositories/DependencyInjection/AppBuilder.cs +++ b/src/WMS.Web.Repositories/DependencyInjection/AppBuilder.cs @@ -9,9 +9,11 @@ using System.Collections.Generic; using System.IO; using System.Text; using WMS.Web.Core.Help; +using WMS.Web.Domain.IService; using WMS.Web.Domain.IService.Public; using WMS.Web.Domain.Mappers; using WMS.Web.Domain.Options; +using WMS.Web.Domain.Services; using WMS.Web.Domain.Services.Public; namespace WMS.Web.Repositories.DependencyInjection @@ -185,6 +187,9 @@ namespace WMS.Web.Repositories.DependencyInjection Services.AddTransient(); Services.AddTransient(); Services.AddTransient(); + + Services.AddTransient(); + } } }