From 4dbd476de6da25a08499e3762b8188dac6bc3442 Mon Sep 17 00:00:00 2001 From: 18923810322 <1666941798@qq.com> Date: Tue, 22 Jul 2025 10:01:05 +0800 Subject: [PATCH] 11 --- .../Controllers/SerialNumberController.cs | 17 ++++ .../wwwroot/BarCode.Web.Api.xml | 7 ++ .../wwwroot/BarCode.Web.Core.xml | 10 +++ .../wwwroot/BarCode.Web.Domain.xml | 15 ++++ .../OperateSerialNumberRequest.cs | 12 +++ .../IService/ISerialNumberService.cs | 7 ++ .../Services/SerialNumberService.cs | 80 ++++++++++++++++++- 7 files changed, 147 insertions(+), 1 deletion(-) 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(); + } + + + + /// /// 打印 ///