From f889ac91dbcc6e98fdcf271b5d06ca051592577e Mon Sep 17 00:00:00 2001
From: 18942506660 <18942506660@A18942506660>
Date: Sat, 11 Nov 2023 16:18:39 +0800
Subject: [PATCH] =?UTF-8?q?=E5=87=BA=E5=BA=93=E5=A2=9E=E5=8A=A0=E5=BA=8F?=
=?UTF-8?q?=E5=88=97=E5=8F=B7=E5=AD=97=E6=AE=B5?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml | 43 +++++++-----
src/WMS.Web.Domain/Entitys/OutStockDetails.cs | 5 ++
.../IService/ISerialNumberService.cs | 17 ++---
.../ISerialNumbersRepositories.cs | 2 +
.../Services/ChangeMoveBoxService.cs | 5 +-
.../Services/OutStockService.cs | 6 +-
.../Services/SerialNumberService.cs | 65 +++++++++++++++++--
.../SerialNumbersRepositories.cs | 9 +++
8 files changed, 117 insertions(+), 35 deletions(-)
diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml
index cdfd9c08..2d27d07a 100644
--- a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml
+++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml
@@ -831,6 +831,11 @@
物料Id
+
+
+ 序列号
+
+
仓库
@@ -1636,6 +1641,9 @@
查询实体集合
+
+ 根据箱Id查询集合
+
修改实体集合
@@ -1804,19 +1812,13 @@
-
- 操作序列号(移箱等)
-
-
-
-
+ 改箱
-
-
- 操作序列号(出库操作)
-
- 序列号
-
+
+ 移箱
+
+
+ 出库
@@ -3414,11 +3416,22 @@
-
+
- 操作序列号(出库操作)
+ 移箱
-
+
+
+
+
+
+
+
+ 出库
+
+
+
+
diff --git a/src/WMS.Web.Domain/Entitys/OutStockDetails.cs b/src/WMS.Web.Domain/Entitys/OutStockDetails.cs
index cceb3b52..76c3a5e1 100644
--- a/src/WMS.Web.Domain/Entitys/OutStockDetails.cs
+++ b/src/WMS.Web.Domain/Entitys/OutStockDetails.cs
@@ -38,6 +38,11 @@ namespace WMS.Web.Domain.Entitys
[Column("MaterialId")]
public int MaterialId { get; set; }
///
+ /// 序列号
+ ///
+ [Column("SerialNumbers")]
+ public List SerialNumbers { get; set; } = new List();
+ ///
/// 仓库
///
[Column("StockCode")]
diff --git a/src/WMS.Web.Domain/IService/ISerialNumberService.cs b/src/WMS.Web.Domain/IService/ISerialNumberService.cs
index f5d9fcdc..93600f7f 100644
--- a/src/WMS.Web.Domain/IService/ISerialNumberService.cs
+++ b/src/WMS.Web.Domain/IService/ISerialNumberService.cs
@@ -14,19 +14,12 @@ namespace WMS.Web.Domain.IService
///
public interface ISerialNumberService
{
- ///
- /// 操作序列号(移箱等)
- ///
- ///
- ///
- ///
+ /// 改箱
Task ChangeBox(List changeBoxRecords, LoginInDto loginInfo, bool isTransaction = true);
- ///
- /// 操作序列号(出库操作)
- ///
- /// 序列号
- ///
- Task OutStock(List serialNumbers, bool isTransaction = true);
+ /// 移箱
+ Task MoveBox(MoveBoxRecord moveBoxRecord, LoginInDto loginInfo, bool isTransaction = true);
+ /// 出库
+ Task OutStock(OutStock outStock, LoginInDto loginInfo, bool isTransaction = true);
///
/// 序列号操作记录
///
diff --git a/src/WMS.Web.Domain/Infrastructure/ISerialNumbersRepositories.cs b/src/WMS.Web.Domain/Infrastructure/ISerialNumbersRepositories.cs
index 7ede98ee..3521118c 100644
--- a/src/WMS.Web.Domain/Infrastructure/ISerialNumbersRepositories.cs
+++ b/src/WMS.Web.Domain/Infrastructure/ISerialNumbersRepositories.cs
@@ -23,6 +23,8 @@ namespace WMS.Web.Domain.Infrastructure
Task GetSerialNumber(string serialNumber);
/// 查询实体集合
Task> GetEntityList(List serialNumbers);
+ /// 根据箱Id查询集合
+ Task> GetEntityListByBoxId(int boxId);
/// 修改实体集合
Task EditEntityList(List entitys, bool isTransaction = true);
}
diff --git a/src/WMS.Web.Domain/Services/ChangeMoveBoxService.cs b/src/WMS.Web.Domain/Services/ChangeMoveBoxService.cs
index 438698b3..accb5e9b 100644
--- a/src/WMS.Web.Domain/Services/ChangeMoveBoxService.cs
+++ b/src/WMS.Web.Domain/Services/ChangeMoveBoxService.cs
@@ -89,7 +89,7 @@ namespace WMS.Web.Domain.Services
isSuccess = await _changeBoxRecordRepositories.AddRange(list, false);
if (!isSuccess) isRollback = true;
var res_change = await _serialNumberService.ChangeBox(list, loginInfo, false);
- if(!res_change.IsSuccess) isRollback = true;
+ if (!res_change.IsSuccess) isRollback = true;
isSuccess = await _boxRepositories.EditEntityList(boxList, false);
if (!isSuccess) isRollback = true;
@@ -122,7 +122,8 @@ namespace WMS.Web.Domain.Services
bool isSuccess = true;
entity = await _moveBoxRecordRepositories.Add(entity, true);
if (entity == null) isRollback = true;
-
+ var res_change = await _serialNumberService.MoveBox(entity, loginInfo, false);
+ if (!res_change.IsSuccess) isRollback = true;
//提交事务
isSuccess = _transactionRepositories.CommitTransaction(isRollback, _transaction);
if (!isSuccess)
diff --git a/src/WMS.Web.Domain/Services/OutStockService.cs b/src/WMS.Web.Domain/Services/OutStockService.cs
index 5e8fb87f..9b6b22ce 100644
--- a/src/WMS.Web.Domain/Services/OutStockService.cs
+++ b/src/WMS.Web.Domain/Services/OutStockService.cs
@@ -71,7 +71,8 @@ namespace WMS.Web.Domain.Services
var outd = _mapper.Map(tDetail);
- outd.Qty = outd.Qty + d.Qty;
+ outd.Qty = d.Qty;
+ outd.SerialNumbers = d.SerialNumbers;
entity.Details.Add(outd);
}
@@ -85,7 +86,8 @@ namespace WMS.Web.Domain.Services
entity = await _outStockRepositories.Add(entity, false);
if (entity == null) isRollback = true;
-
+ outStockTask = await _outStockTaskRepositories.Edit(outStockTask, false);
+ if (outStockTask == null) isRollback = true;
//提交事务
isSuccess = _transactionRepositories.CommitTransaction(isRollback, _transaction);
if (!isSuccess)
diff --git a/src/WMS.Web.Domain/Services/SerialNumberService.cs b/src/WMS.Web.Domain/Services/SerialNumberService.cs
index a744af2d..73adc4c5 100644
--- a/src/WMS.Web.Domain/Services/SerialNumberService.cs
+++ b/src/WMS.Web.Domain/Services/SerialNumberService.cs
@@ -94,15 +94,72 @@ namespace WMS.Web.Domain.Services
return Result.ReSuccess();
}
///
- /// 操作序列号(出库操作)
+ /// 移箱
///
- ///
+ ///
+ ///
+ ///
///
- public Task OutStock(List serialNumbers, bool isTransaction = true)
+ public async Task MoveBox(MoveBoxRecord moveBoxRecord, LoginInDto loginInfo, bool isTransaction = true)
+ {
+ //获取序列号信息
+ var entityList = await _serialNumbersRepositories.GetEntityListByBoxId(moveBoxRecord.BoxId);
+ var box = await _boxRepositories.Get(moveBoxRecord.BoxId);
+ var userName = _singleDataService.GetSingleData(SingleAction.Staffs, loginInfo.UserInfo.CompanyId, loginInfo.UserInfo.StaffId);
+
+ IDbContextTransaction _transaction = null;
+ if (isTransaction)
+ _transaction = _transactionRepositories.GetTransaction();
+ bool isRollback = false;
+ bool isSuccess = true;
+ List sList = new List();
+ foreach (var entity in entityList)
+ {
+ //修改序列号和箱绑定关系
+ entity.Operate(moveBoxRecord.BoxId);
+
+ //记录序列号操作日志
+ SerialNumberOperate op = new SerialNumberOperate()
+ {
+ MaterialId = entity.MaterialId,
+ SerialNumber = entity.SerialNumber,
+ OrgId = box.OrgId,
+ SupplierId = box.SupplierId,
+ OperateTime = DateTime.Now,
+ OperateType = SerialNumberOperateType.MoveBox,
+ OperateUser = userName,
+ Remark = "箱号:" + box.BoxBillNo
+ };
+ sList.Add(op);
+ }
+ isSuccess = await _serialNumbersRepositories.EditEntityList(entityList, false);
+ //序列号操作记录
+ var res = await this.SerialNumberOperate(sList, false);
+ //提交事务
+ if (isTransaction)
+ {
+ if (!isSuccess) isRollback = true;
+ if (!res.Success) isRollback = true;
+ isSuccess = _transactionRepositories.CommitTransaction(isRollback, _transaction);
+ if (!isSuccess)
+ return Result.ReFailure(ResultCodes.DateWriteError);
+ }
+ if (!isSuccess) return Result.ReFailure(ResultCodes.DateWriteError);
+ if (!res.Success) return Result.ReFailure(ResultCodes.DateWriteError);
+
+ return Result.ReSuccess();
+ }
+ ///
+ /// 出库
+ ///
+ ///
+ ///
+ ///
+ ///
+ public Task OutStock(OutStock outStock, LoginInDto loginInfo, bool isTransaction = true)
{
throw new NotImplementedException();
}
-
///
/// 序列号操作记录日志
///
diff --git a/src/WMS.Web.Repositories/SerialNumbersRepositories.cs b/src/WMS.Web.Repositories/SerialNumbersRepositories.cs
index a0e97928..4a3af79e 100644
--- a/src/WMS.Web.Repositories/SerialNumbersRepositories.cs
+++ b/src/WMS.Web.Repositories/SerialNumbersRepositories.cs
@@ -106,6 +106,15 @@ namespace WMS.Web.Repositories
return res.Clone();
}
+ public async Task> GetEntityListByBoxId(int boxId)
+ {
+ var res = await _context.SerialNumbers
+ .Where(f => f.BoxId==boxId)
+ .ToListAsync();
+
+ return res.Clone();
+ }
+
///
/// 根据序列号
///