增加了初始数据处理

This commit is contained in:
2025-05-16 14:51:31 +08:00
parent 0e44b7d2ec
commit 553f3c9b01
11 changed files with 215 additions and 12 deletions

View File

@@ -10,11 +10,14 @@ using BarCode.Web.Domain.IService.Public;
using BarCode.Web.Domain.Services.Public;
using BarCode.Web.Domain.Values;
using BarCode.Web.Domain.Values.Single;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Storage;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using Newtonsoft.Json;
using NPOI.HPSF;
using NPOI.OpenXmlFormats.Wordprocessing;
using Org.BouncyCastle.Crypto;
using System;
using System.Collections;
using System.Collections.Generic;
@@ -280,7 +283,7 @@ namespace BarCode.Web.Domain.Services
public async Task<Result> DownLoad(OperateSerialNumberRequest dto)
{
//取出所有的生成记录
var generateRecords = await _sGenerateRecordRepositories.GetEntityList(dto.GenerateRecordIds);
var generateRecords = await _sGenerateRecordRepositories.GetEntityList(dto.GenerateRecordIds,"0");
if (generateRecords.Count() != dto.GenerateRecordIds.Count())
return Result.ReFailure(ResultCodes.NoDateError);
var snGRList = await _serialNumbersRepositories.GetEntityListByGRIds(dto.GenerateRecordIds);
@@ -315,6 +318,86 @@ namespace BarCode.Web.Domain.Services
if (!isSuccess) return Result.ReFailure(ResultCodes.DateWriteError);
return Result.ReSuccess();
}
/// <summary>
/// 更新错的Sn
/// </summary>
/// <param name="dto"></param>
/// <returns></returns>
/// <exception cref="NotImplementedException"></exception>
public async Task<Result> UpdateSn(OperateSerialNumberRequest dto)
{
//取出所有的生成记录
var generateRecords = await _sGenerateRecordRepositories.GetEntityList(dto.GenerateRecordIds,"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>
@@ -324,7 +407,7 @@ namespace BarCode.Web.Domain.Services
public async Task<Result> Print(OperateSerialNumberRequest dto)
{
//取出所有的生成记录
var generateRecords = await _sGenerateRecordRepositories.GetEntityList(dto.GenerateRecordIds);
var generateRecords = await _sGenerateRecordRepositories.GetEntityList(dto.GenerateRecordIds,"");
if (generateRecords.Count() != dto.GenerateRecordIds.Count())
return Result.ReFailure(ResultCodes.NoDateError);
var snGRList = await _serialNumbersRepositories.GetEntityListByGRIds(dto.GenerateRecordIds);
@@ -366,7 +449,7 @@ namespace BarCode.Web.Domain.Services
/// <returns></returns>
public async Task<Result> Use(List<int> sGIds)
{
var sGList = await _sGenerateRecordRepositories.GetEntityList(sGIds);
var sGList = await _sGenerateRecordRepositories.GetEntityList(sGIds,"");
var sGSNumberList = await _serialNumbersRepositories.GetEntityListByGRIds(sGIds);
foreach (var sg in sGList)