增加了初始数据处理

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

@@ -105,7 +105,7 @@ namespace BarCode.Web.Api.Controllers
if (loginInfo == null)
return Task.FromResult(Result<string>.ReFailure(ResultCodes.Token_Invalid_Error));
var entityList = _sGenerateRecordRepositories.GetEntityList(dto.Ids).GetAwaiter().GetResult();
var entityList = _sGenerateRecordRepositories.GetEntityList(dto.Ids, "").GetAwaiter().GetResult();
if (entityList.Count < 0) return Task.FromResult(Result<string>.ReFailure(ResultCodes.NoDateError));
string orgCode = entityList.First().OrgCode;
@@ -220,6 +220,22 @@ namespace BarCode.Web.Api.Controllers
}
/// <summary>
/// 下载(一般后端内部调用)
/// </summary>
/// <param name="dto"></param>
/// <returns></returns>
[HttpPost]
[Route("UpdateSn")]
public async Task<Result> UpdateSn(OperateSerialNumberRequest 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.UpdateSn(dto);
}
/// <summary>
/// 获取序列号信息
/// </summary>

View File

@@ -10,7 +10,7 @@
"AllowedCores": "localhost,http://localhost:8080,http://192.168.1.188:8080",//跨域
"AppOptions": {
"DBConnectionString": "Server=rm-wz9215skklas0287pwo.mysql.rds.aliyuncs.com; Database=test_barcode_db;User Id=orico_erp;password=Orico2023;port=3306;CharSet=gb2312;Connect Timeout=150;", //数据库连接地址
"RedisConnectionString": "47.106.232.90:6379,password=orico.2020,DefaultDatabase=7", //redis连接地址
"RedisConnectionString": "47.106.232.90:6379,password=orico.2020,DefaultDatabase=7", //redis连接地址test_barcode_db
"RedisIpRateLimitingConnectionString": "47.110.156.96:16379,password=123456,DefaultDatabase=3", //redis连接地址
"SingleBaseUrl": "http://127.0.0.1:8066/api", //单点服务连接地址
"DBType": "Mysql", //数据库类型

View File

@@ -316,6 +316,13 @@
<param name="dto"></param>
<returns></returns>
</member>
<member name="M:BarCode.Web.Api.Controllers.SerialNumberController.UpdateSn(BarCode.Web.Core.Dto.SerialNumbers.OperateSerialNumberRequest)">
<summary>
下载(一般后端内部调用)
</summary>
<param name="dto"></param>
<returns></returns>
</member>
<member name="M:BarCode.Web.Api.Controllers.SerialNumberController.GetByBoxId(BarCode.Web.Core.Dto.SerialNumbers.SerialNumberByBoxIdQueryRequest)">
<summary>
获取序列号信息

View File

@@ -883,6 +883,12 @@
</summary>
<param name="sn"></param>
</member>
<member name="M:BarCode.Web.Domain.Entitys.SerialNumbers.SetThisNumber(System.Int32)">
<summary>
设置thisNumber
</summary>
<param name="sn"></param>
</member>
<member name="M:BarCode.Web.Domain.Entitys.SerialNumbers.GenerateTwoSerialNumber(System.String)">
<summary>
产生第二个序列号
@@ -1350,6 +1356,22 @@
<param name="serialNumber"></param>
<returns></returns>
</member>
<member name="M:BarCode.Web.Domain.Infrastructure.ISerialNumbersRepositories.GetTwoSerialNumber(System.Collections.Generic.List{BarCode.Web.Domain.Entitys.SerialNumbers},System.String)">
<summary>
得到两件装
</summary>
<param name="entitys"></param>
<param name="SuitNumber"></param>
<returns></returns>
</member>
<member name="M:BarCode.Web.Domain.Infrastructure.ISerialNumbersRepositories.GetTwoNumberCode(System.Collections.Generic.List{BarCode.Web.Domain.Entitys.SerialNumbers},System.String)">
<summary>
得到数字两件装
</summary>
<param name="entitys"></param>
<param name="SuitNumber"></param>
<returns></returns>
</member>
<member name="M:BarCode.Web.Domain.Infrastructure.ISGenerateRecordRepositories.AddRange(System.Collections.Generic.List{BarCode.Web.Domain.Entitys.SerialNumberGenerateRecord},System.Boolean)">
<summary>
批量添加
@@ -1361,7 +1383,7 @@
<member name="M:BarCode.Web.Domain.Infrastructure.ISGenerateRecordRepositories.EditEntityList(System.Collections.Generic.List{BarCode.Web.Domain.Entitys.SerialNumberGenerateRecord},System.Boolean)">
修改实体集合
</member>
<member name="M:BarCode.Web.Domain.Infrastructure.ISGenerateRecordRepositories.GetEntityList(System.Collections.Generic.List{System.Int32})">
<member name="M:BarCode.Web.Domain.Infrastructure.ISGenerateRecordRepositories.GetEntityList(System.Collections.Generic.List{System.Int32},System.String)">
查询实体集合
</member>
<member name="M:BarCode.Web.Domain.Infrastructure.ISGenerateRecordRepositories.GetEntity(System.Int32)">
@@ -1553,6 +1575,13 @@
<param name="dto"></param>
<returns></returns>
</member>
<member name="M:BarCode.Web.Domain.IService.ISerialNumberService.UpdateSn(BarCode.Web.Core.Dto.SerialNumbers.OperateSerialNumberRequest)">
<summary>
更新错的序列号(内部使用)
</summary>
<param name="dto"></param>
<returns></returns>
</member>
<member name="M:BarCode.Web.Domain.IService.ISerialNumberService.Use(System.Collections.Generic.List{System.Int32})">
<summary>
装箱后反写使用数
@@ -3391,6 +3420,14 @@
<returns></returns>
<exception cref="T:System.NotImplementedException"></exception>
</member>
<member name="M:BarCode.Web.Domain.Services.SerialNumberService.UpdateSn(BarCode.Web.Core.Dto.SerialNumbers.OperateSerialNumberRequest)">
<summary>
更新错的Sn
</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)">
<summary>
打印

View File

@@ -56,7 +56,7 @@ namespace BarCode.Web.Domain.Entitys
///当次序号,用来记录当次所产生时所处的序列号
/// </summary>
[Column("thisNumber")]
public int thisNumber { get; set; } = 1;
public int? thisNumber { get; set; } = 1;
/// <summary>
/// 序列号
@@ -210,6 +210,18 @@ namespace BarCode.Web.Domain.Entitys
this.SuitNumber = sn;
}
/// <summary>
/// 设置thisNumber
/// </summary>
/// <param name="sn"></param>
public void SetThisNumber(int sn)
{
this.thisNumber = sn;
}
/// <summary>
/// 产生第二个序列号
/// </summary>

View File

@@ -34,6 +34,13 @@ namespace BarCode.Web.Domain.IService
/// <param name="dto"></param>
/// <returns></returns>
Task<Result> DownLoad(OperateSerialNumberRequest dto);
/// <summary>
/// 更新错的序列号(内部使用)
/// </summary>
/// <param name="dto"></param>
/// <returns></returns>
Task<Result> UpdateSn(OperateSerialNumberRequest dto);
/// <summary>
/// 装箱后反写使用数
/// </summary>

View File

@@ -27,7 +27,7 @@ namespace BarCode.Web.Domain.Infrastructure
/// 修改实体集合
Task<bool> EditEntityList(List<SerialNumberGenerateRecord> entitys, bool isTransaction = true);
/// 查询实体集合
Task<List<SerialNumberGenerateRecord?>> GetEntityList(List<int> ids);
Task<List<SerialNumberGenerateRecord?>> GetEntityList(List<int> ids,string strUpdate);
/// 查询实体
Task<SerialNumberGenerateRecord?> GetEntity(int id);
}

View File

@@ -62,5 +62,19 @@ namespace BarCode.Web.Domain.Infrastructure
/// <param name="serialNumber"></param>
/// <returns></returns>
Task<SerialNumbersExternalResponse> GetExternal(string serialNumber);
/// <summary>
/// 得到两件装
/// </summary>
/// <param name="entitys"></param>
/// <param name="SuitNumber"></param>
/// <returns></returns>
public string GetTwoSerialNumber(List<SerialNumbers> entitys, string SuitNumber);
/// <summary>
/// 得到数字两件装
/// </summary>
/// <param name="entitys"></param>
/// <param name="SuitNumber"></param>
/// <returns></returns>
public string GetTwoNumberCode(List<SerialNumbers> entitys, string SuitNumber);
}
}

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)

View File

@@ -161,13 +161,23 @@ namespace BarCode.Web.Repositories
/// 获取集合
/// </summary>
/// <param name="ids"></param>
/// <param name="strUpdate">更新而使用的</param>
/// <returns></returns>
/// <exception cref="NotImplementedException"></exception>
public async Task<List<SerialNumberGenerateRecord>> GetEntityList(List<int> ids)
public async Task<List<SerialNumberGenerateRecord>> GetEntityList(List<int> ids,string strUpdate)
{
return await _context.SerialNumberGenerateRecord.AsNoTracking()
.Where(f => ids.Contains(f.Id))
.ToListAsync();
if(strUpdate=="1")
{
return await _context.SerialNumberGenerateRecord.AsNoTracking()
.Where(f => f.IsTwo==3)
.ToListAsync();
}
else
{
return await _context.SerialNumberGenerateRecord.AsNoTracking()
.Where(f => ids.Contains(f.Id))
.ToListAsync();
}
}
/// <summary>

View File

@@ -16,6 +16,7 @@ using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Storage;
using Microsoft.Extensions.Logging;
using Npoi.Mapper;
using NPOI.OpenXmlFormats.Wordprocessing;
using NPOI.POIFS.FileSystem;
using Quartz.Logging;
using System;
@@ -250,6 +251,8 @@ namespace BarCode.Web.Repositories
if (materials_result.IsSuccess)
materials = materials_result.Data.ToList();
//var queery2= _context.ser
var query = _context.SerialNumbers.AsNoTracking()
.GroupJoin(_context.Box, serial => serial.BoxId, box => box.Id, (serial, box) => new { serial, box })
.SelectMany(x => x.box.DefaultIfEmpty(), (p, box) => new { p.serial, box })
@@ -704,6 +707,20 @@ namespace BarCode.Web.Repositories
.ToListAsync();
}
///// <summary>
///// 跟据特定条件得到产生的序列号列表(主要是内部使用)
///// </summary>
///// <param name="boxIds"></param>
///// <returns></returns>
//public async Task<List<SerialNumbers>> GetEntityListBySuitNumber(string suitNumber)
//{
// return await _context.SerialNumbers.AsNoTracking()
// .Where(f => f.TwoSerialNumber.Contains(suitNumber))
// .ToListAsync();
//}
/// <summary>
/// wms系统查询序列码 支持数字序列码
/// </summary>