This commit is contained in:
2025-07-22 10:01:05 +08:00
parent 5ce32b872a
commit 4dbd476de6
7 changed files with 147 additions and 1 deletions

View File

@@ -236,6 +236,23 @@ namespace BarCode.Web.Api.Controllers
} }
/// <summary>
/// 转换Sn,由单件装转成两件装
/// </summary>
/// <param name="dto"></param>
/// <returns></returns>
[HttpPost]
[Route("TransferSn")]
public async Task<Result> 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);
}
/// <summary> /// <summary>
/// 获取序列号信息 /// 获取序列号信息
/// </summary> /// </summary>

View File

@@ -323,6 +323,13 @@
<param name="dto"></param> <param name="dto"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:BarCode.Web.Api.Controllers.SerialNumberController.TransferSn(BarCode.Web.Core.Dto.SerialNumbers.TransferSNOneTwoTwoRequest)">
<summary>
转换Sn,由单件装转成两件装
</summary>
<param name="dto"></param>
<returns></returns>
</member>
<member name="M:BarCode.Web.Api.Controllers.SerialNumberController.GetByBoxId(BarCode.Web.Core.Dto.SerialNumbers.SerialNumberByBoxIdQueryRequest)"> <member name="M:BarCode.Web.Api.Controllers.SerialNumberController.GetByBoxId(BarCode.Web.Core.Dto.SerialNumbers.SerialNumberByBoxIdQueryRequest)">
<summary> <summary>
获取序列号信息 获取序列号信息

View File

@@ -2904,6 +2904,16 @@
如果是部分操作(序列号) 全部操作的话可不传 如果是部分操作(序列号) 全部操作的话可不传
</summary> </summary>
</member> </member>
<member name="T:BarCode.Web.Core.Dto.SerialNumbers.TransferSNOneTwoTwoRequest">
<summary>
操作序列号请求接口(打印 下载)
</summary>
</member>
<member name="P:BarCode.Web.Core.Dto.SerialNumbers.TransferSNOneTwoTwoRequest.ids">
<summary>
生成记录Id
</summary>
</member>
<member name="T:BarCode.Web.Core.Dto.SerialNumbers.SerialNumberByBoxIdQueryRequest"> <member name="T:BarCode.Web.Core.Dto.SerialNumbers.SerialNumberByBoxIdQueryRequest">
<summary> <summary>
根据箱Id获取序列码信息 根据箱Id获取序列码信息

View File

@@ -1583,6 +1583,13 @@
<param name="dto"></param> <param name="dto"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:BarCode.Web.Domain.IService.ISerialNumberService.TransferSn(BarCode.Web.Core.Dto.SerialNumbers.TransferSNOneTwoTwoRequest)">
<summary>
转换序列号,由单件装转为两件装
</summary>
<param name="dto"></param>
<returns></returns>
</member>
<member name="M:BarCode.Web.Domain.IService.ISerialNumberService.Use(System.Collections.Generic.List{System.Int32})"> <member name="M:BarCode.Web.Domain.IService.ISerialNumberService.Use(System.Collections.Generic.List{System.Int32})">
<summary> <summary>
装箱后反写使用数 装箱后反写使用数
@@ -3429,6 +3436,14 @@
<returns></returns> <returns></returns>
<exception cref="T:System.NotImplementedException"></exception> <exception cref="T:System.NotImplementedException"></exception>
</member> </member>
<member name="M:BarCode.Web.Domain.Services.SerialNumberService.TransferSn(BarCode.Web.Core.Dto.SerialNumbers.TransferSNOneTwoTwoRequest)">
<summary>
转换序列号(从单件装转为两件装)
</summary>
<param name="dto"></param>
<returns></returns>
<exception cref="T:System.NotImplementedException"></exception>
</member>
<member name="M:BarCode.Web.Domain.Services.SerialNumberService.Print(BarCode.Web.Core.Dto.SerialNumbers.OperateSerialNumberRequest)"> <member name="M:BarCode.Web.Domain.Services.SerialNumberService.Print(BarCode.Web.Core.Dto.SerialNumbers.OperateSerialNumberRequest)">
<summary> <summary>
打印 打印

View File

@@ -24,4 +24,16 @@ namespace BarCode.Web.Core.Dto.SerialNumbers
/// </summary> /// </summary>
public List<string> SerialNumbers { get; set; } = new List<string>(); public List<string> SerialNumbers { get; set; } = new List<string>();
} }
/// <summary>
/// 操作序列号请求接口(打印 下载)
/// </summary>
public class TransferSNOneTwoTwoRequest
{
/// <summary>
/// 生成记录Id
/// </summary>
public List<int> ids { get; set; } = new List<int>();
}
} }

View File

@@ -41,6 +41,13 @@ namespace BarCode.Web.Domain.IService
/// <returns></returns> /// <returns></returns>
Task<Result> UpdateSn(OperateSerialNumberRequest dto); Task<Result> UpdateSn(OperateSerialNumberRequest dto);
/// <summary>
/// 转换序列号,由单件装转为两件装
/// </summary>
/// <param name="dto"></param>
/// <returns></returns>
Task<Result> TransferSn(TransferSNOneTwoTwoRequest dto);
/// <summary> /// <summary>
/// 装箱后反写使用数 /// 装箱后反写使用数
/// </summary> /// </summary>

View File

@@ -397,7 +397,85 @@ namespace BarCode.Web.Domain.Services
} }
/// <summary>
/// 转换序列号(从单件装转为两件装)
/// </summary>
/// <param name="dto"></param>
/// <returns></returns>
/// <exception cref="NotImplementedException"></exception>
public async Task<Result> TransferSn(TransferSNOneTwoTwoRequest dto)
{
//取出所有的生成记录
var generateRecords = await _sGenerateRecordRepositories.GetEntityList(dto.ids, "1");
List<SerialNumbers> olist = new List<SerialNumbers>();
bool res_Rollback = false;
for (int i = 0; i < generateRecords.Count; i++)
{
List<int> 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();
}
/// <summary> /// <summary>
/// 打印 /// 打印
/// </summary> /// </summary>