diff --git a/src/BarCode.Web.Api/Controllers/SerialNumberController.cs b/src/BarCode.Web.Api/Controllers/SerialNumberController.cs
index 394f7da..5053cb3 100644
--- a/src/BarCode.Web.Api/Controllers/SerialNumberController.cs
+++ b/src/BarCode.Web.Api/Controllers/SerialNumberController.cs
@@ -236,6 +236,23 @@ namespace BarCode.Web.Api.Controllers
}
+ ///
+ /// 转换Sn,由单件装转成两件装
+ ///
+ ///
+ ///
+ [HttpPost]
+ [Route("TransferSn")]
+ public async Task TransferSn(TransferSNOneTwoTwoRequest 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 _serialNumberService.TransferSn(dto);
+ }
+
+
+
///
/// 获取序列号信息
///
diff --git a/src/BarCode.Web.Api/wwwroot/BarCode.Web.Api.xml b/src/BarCode.Web.Api/wwwroot/BarCode.Web.Api.xml
index 71fd92d..7342d2d 100644
--- a/src/BarCode.Web.Api/wwwroot/BarCode.Web.Api.xml
+++ b/src/BarCode.Web.Api/wwwroot/BarCode.Web.Api.xml
@@ -323,6 +323,13 @@
+
+
+ 转换Sn,由单件装转成两件装
+
+
+
+
获取序列号信息
diff --git a/src/BarCode.Web.Api/wwwroot/BarCode.Web.Core.xml b/src/BarCode.Web.Api/wwwroot/BarCode.Web.Core.xml
index ffc38b4..299bfba 100644
--- a/src/BarCode.Web.Api/wwwroot/BarCode.Web.Core.xml
+++ b/src/BarCode.Web.Api/wwwroot/BarCode.Web.Core.xml
@@ -2904,6 +2904,16 @@
如果是部分操作(序列号) 全部操作的话可不传
+
+
+ 操作序列号请求接口(打印 下载)
+
+
+
+
+ 生成记录Id
+
+
根据箱Id获取序列码信息
diff --git a/src/BarCode.Web.Api/wwwroot/BarCode.Web.Domain.xml b/src/BarCode.Web.Api/wwwroot/BarCode.Web.Domain.xml
index e93a57f..14f3d64 100644
--- a/src/BarCode.Web.Api/wwwroot/BarCode.Web.Domain.xml
+++ b/src/BarCode.Web.Api/wwwroot/BarCode.Web.Domain.xml
@@ -1583,6 +1583,13 @@
+
+
+ 转换序列号,由单件装转为两件装
+
+
+
+
装箱后反写使用数
@@ -3429,6 +3436,14 @@
+
+
+ 转换序列号(从单件装转为两件装)
+
+
+
+
+
打印
diff --git a/src/BarCode.Web.Core/Dto/SerialNumbers/OperateSerialNumberRequest.cs b/src/BarCode.Web.Core/Dto/SerialNumbers/OperateSerialNumberRequest.cs
index f59c2e1..7a544d4 100644
--- a/src/BarCode.Web.Core/Dto/SerialNumbers/OperateSerialNumberRequest.cs
+++ b/src/BarCode.Web.Core/Dto/SerialNumbers/OperateSerialNumberRequest.cs
@@ -24,4 +24,16 @@ namespace BarCode.Web.Core.Dto.SerialNumbers
///
public List SerialNumbers { get; set; } = new List();
}
+
+ ///
+ /// 操作序列号请求接口(打印 下载)
+ ///
+ public class TransferSNOneTwoTwoRequest
+ {
+ ///
+ /// 生成记录Id
+ ///
+ public List ids { get; set; } = new List();
+ }
+
}
diff --git a/src/BarCode.Web.Domain/IService/ISerialNumberService.cs b/src/BarCode.Web.Domain/IService/ISerialNumberService.cs
index f0a7e86..7b83163 100644
--- a/src/BarCode.Web.Domain/IService/ISerialNumberService.cs
+++ b/src/BarCode.Web.Domain/IService/ISerialNumberService.cs
@@ -41,6 +41,13 @@ namespace BarCode.Web.Domain.IService
///
Task UpdateSn(OperateSerialNumberRequest dto);
+ ///
+ /// 转换序列号,由单件装转为两件装
+ ///
+ ///
+ ///
+ Task TransferSn(TransferSNOneTwoTwoRequest dto);
+
///
/// 装箱后反写使用数
///
diff --git a/src/BarCode.Web.Domain/Services/SerialNumberService.cs b/src/BarCode.Web.Domain/Services/SerialNumberService.cs
index e5e2369..32ceca7 100644
--- a/src/BarCode.Web.Domain/Services/SerialNumberService.cs
+++ b/src/BarCode.Web.Domain/Services/SerialNumberService.cs
@@ -397,7 +397,85 @@ namespace BarCode.Web.Domain.Services
}
-
+ ///
+ /// 转换序列号(从单件装转为两件装)
+ ///
+ ///
+ ///
+ ///
+ public async Task TransferSn(TransferSNOneTwoTwoRequest dto)
+ {
+ //取出所有的生成记录
+ var generateRecords = await _sGenerateRecordRepositories.GetEntityList(dto.ids, "1");
+ List olist = new List();
+ bool res_Rollback = false;
+
+ for (int i = 0; i < generateRecords.Count; i++)
+ {
+ List s = [];
+ string newSuitNumber = "";
+ string oldSuitNumber = "";
+
+ int ids = generateRecords[i].Id;
+ s.Add(ids);
+ olist = await _serialNumbersRepositories.GetEntityListByGRIds(s);
+ //修改序列号下载数
+ int m = 0;
+ foreach (var item in olist)
+ {
+ m++;
+ //自动生成序列码
+ string sn = item.SerialNumber;
+
+ if (m % 2 == 0)
+ {
+ newSuitNumber = oldSuitNumber;
+ }
+ else
+ {
+ oldSuitNumber = sn;
+ newSuitNumber = sn;
+ }
+
+ item.GenerateSuitNumber(newSuitNumber);
+ // item.GenerateTwoSerialNumber(newSuitNumber);
+ item.SetThisNumber(m);
+ item.IsTwo = 2;
+ }
+ foreach (var item in olist)
+ {
+
+ string ss = _serialNumbersRepositories.GetTwoSerialNumber(olist, item.SuitNumber);
+ item.GenerateTwoSerialNumber(ss);
+
+
+ string sNumberCode = _serialNumbersRepositories.GetTwoNumberCode(olist, item.SuitNumber);
+ item.GenerateTwoNumberCode(sNumberCode);
+ }
+
+ IDbContextTransaction _transaction = _transactionRepositories.GetTransaction();
+
+ var isSuccess = await _serialNumbersRepositories.EditEntityList(olist, false);
+ if (!isSuccess) res_Rollback = true;
+
+ generateRecords[i].IsTwo = 2;
+
+
+ isSuccess = _transactionRepositories.CommitTransaction(res_Rollback, _transaction);
+ if (!isSuccess) return Result.ReFailure(ResultCodes.DateWriteError);
+ //return Result.ReSuccess();
+ }
+ if (!res_Rollback)
+ {
+ var res = await _sGenerateRecordRepositories.EditEntityList(generateRecords, false);
+ if (!res) res_Rollback = true;
+ }
+ return Result.ReSuccess();
+ }
+
+
+
+
///
/// 打印
///