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();
+
}
}
}