diff --git a/src/BarCode.Web.Api/wwwroot/BarCode.Web.Domain.xml b/src/BarCode.Web.Api/wwwroot/BarCode.Web.Domain.xml
index 14f3d64..e6a3b73 100644
--- a/src/BarCode.Web.Api/wwwroot/BarCode.Web.Domain.xml
+++ b/src/BarCode.Web.Api/wwwroot/BarCode.Web.Domain.xml
@@ -1332,6 +1332,13 @@
根据套装码查询序列码
+
+
+ 获取已经使用的序列号
+
+
+
+
根据生成记录id查询序列码
diff --git a/src/BarCode.Web.Domain/Infrastructure/ISerialNumbersRepositories.cs b/src/BarCode.Web.Domain/Infrastructure/ISerialNumbersRepositories.cs
index f73440d..3453ec3 100644
--- a/src/BarCode.Web.Domain/Infrastructure/ISerialNumbersRepositories.cs
+++ b/src/BarCode.Web.Domain/Infrastructure/ISerialNumbersRepositories.cs
@@ -42,6 +42,13 @@ namespace BarCode.Web.Domain.Infrastructure
Task> GetEntityListBySuitNumber(string suitNumber);
/// 根据套装码查询序列码
Task> GetEntityListByGRIds(List gRIds);
+ ///
+ /// 获取已经使用的序列号
+ ///
+ ///
+ ///
+ Task> GetUseEntityListByGRIds(List gRIds);
+
/// 根据生成记录id查询序列码
Task> GetEntityListByGRId(int gRId);
/// 根据箱号查询序列码
diff --git a/src/BarCode.Web.Domain/Services/SerialNumberService.cs b/src/BarCode.Web.Domain/Services/SerialNumberService.cs
index 355d994..490e6e8 100644
--- a/src/BarCode.Web.Domain/Services/SerialNumberService.cs
+++ b/src/BarCode.Web.Domain/Services/SerialNumberService.cs
@@ -473,6 +473,15 @@ namespace BarCode.Web.Domain.Services
///
public async Task TransferSn(TransferSNOneTwoTwoRequest dto)
{
+
+ //先判断是否有存在使用的序列号,如果有的话,就报错。
+ List isUselist = await _serialNumbersRepositories.GetUseEntityListByGRIds(dto.ids);
+ if(isUselist.Count>0)
+ {
+ return Result.ReFailure(ResultCodes.IsUseError);
+ }
+
+
//取出所有的生成记录
var generateRecords = await _sGenerateRecordRepositories.GetEntityList(dto.ids, "0");
for (int i = 0; i < generateRecords.Count; i++)
diff --git a/src/BarCode.Web.Domain/Values/ResultCodes.cs b/src/BarCode.Web.Domain/Values/ResultCodes.cs
index 7d8cf50..cfdb661 100644
--- a/src/BarCode.Web.Domain/Values/ResultCodes.cs
+++ b/src/BarCode.Web.Domain/Values/ResultCodes.cs
@@ -25,6 +25,7 @@ namespace BarCode.Web.Domain.Values
public static ValueTuple NoOrgError = (40006, "组织信息不存在");
public static ValueTuple IsTwoError = (70001, "两件装产品,数量需填双数");
public static ValueTuple IsZeroError = (70002, "数量不能为0");
+ public static ValueTuple IsUseError = (70003, "序列码存在已使用, 请选择未使用序列码的数据 !");
///
/// 没有菜单权限,无法登录
///
diff --git a/src/BarCode.Web.Repositories/SerialNumbersRepositories.cs b/src/BarCode.Web.Repositories/SerialNumbersRepositories.cs
index 2a3f2fb..2abd18b 100644
--- a/src/BarCode.Web.Repositories/SerialNumbersRepositories.cs
+++ b/src/BarCode.Web.Repositories/SerialNumbersRepositories.cs
@@ -224,6 +224,19 @@ namespace BarCode.Web.Repositories
.Where(f => gRIds.Contains(f.GenerateRecordId))
.ToListAsync();
}
+
+ ///
+ /// 根据生成记录Id查询序列号
+ ///
+ ///
+ ///
+ public async Task> GetUseEntityListByGRIds(List gRIds)
+ {
+ return await _context.SerialNumbers.AsNoTracking()
+ .Where(f => gRIds.Contains(f.GenerateRecordId) && f.IsUse==true)
+ .ToListAsync();
+ }
+
///
/// 根据生成记录Id查询序列号
///