增加了初始数据处理

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) if (loginInfo == null)
return Task.FromResult(Result<string>.ReFailure(ResultCodes.Token_Invalid_Error)); 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)); if (entityList.Count < 0) return Task.FromResult(Result<string>.ReFailure(ResultCodes.NoDateError));
string orgCode = entityList.First().OrgCode; 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>
/// 获取序列号信息 /// 获取序列号信息
/// </summary> /// </summary>

View File

@@ -10,7 +10,7 @@
"AllowedCores": "localhost,http://localhost:8080,http://192.168.1.188:8080",//跨域 "AllowedCores": "localhost,http://localhost:8080,http://192.168.1.188:8080",//跨域
"AppOptions": { "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;", //数据库连接地址 "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连接地址 "RedisIpRateLimitingConnectionString": "47.110.156.96:16379,password=123456,DefaultDatabase=3", //redis连接地址
"SingleBaseUrl": "http://127.0.0.1:8066/api", //单点服务连接地址 "SingleBaseUrl": "http://127.0.0.1:8066/api", //单点服务连接地址
"DBType": "Mysql", //数据库类型 "DBType": "Mysql", //数据库类型

View File

@@ -316,6 +316,13 @@
<param name="dto"></param> <param name="dto"></param>
<returns></returns> <returns></returns>
</member> </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)"> <member name="M:BarCode.Web.Api.Controllers.SerialNumberController.GetByBoxId(BarCode.Web.Core.Dto.SerialNumbers.SerialNumberByBoxIdQueryRequest)">
<summary> <summary>
获取序列号信息 获取序列号信息

View File

@@ -883,6 +883,12 @@
</summary> </summary>
<param name="sn"></param> <param name="sn"></param>
</member> </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)"> <member name="M:BarCode.Web.Domain.Entitys.SerialNumbers.GenerateTwoSerialNumber(System.String)">
<summary> <summary>
产生第二个序列号 产生第二个序列号
@@ -1350,6 +1356,22 @@
<param name="serialNumber"></param> <param name="serialNumber"></param>
<returns></returns> <returns></returns>
</member> </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)"> <member name="M:BarCode.Web.Domain.Infrastructure.ISGenerateRecordRepositories.AddRange(System.Collections.Generic.List{BarCode.Web.Domain.Entitys.SerialNumberGenerateRecord},System.Boolean)">
<summary> <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 name="M:BarCode.Web.Domain.Infrastructure.ISGenerateRecordRepositories.EditEntityList(System.Collections.Generic.List{BarCode.Web.Domain.Entitys.SerialNumberGenerateRecord},System.Boolean)">
修改实体集合 修改实体集合
</member> </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>
<member name="M:BarCode.Web.Domain.Infrastructure.ISGenerateRecordRepositories.GetEntity(System.Int32)"> <member name="M:BarCode.Web.Domain.Infrastructure.ISGenerateRecordRepositories.GetEntity(System.Int32)">
@@ -1553,6 +1575,13 @@
<param name="dto"></param> <param name="dto"></param>
<returns></returns> <returns></returns>
</member> </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})"> <member name="M:BarCode.Web.Domain.IService.ISerialNumberService.Use(System.Collections.Generic.List{System.Int32})">
<summary> <summary>
装箱后反写使用数 装箱后反写使用数
@@ -3391,6 +3420,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.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)"> <member name="M:BarCode.Web.Domain.Services.SerialNumberService.Print(BarCode.Web.Core.Dto.SerialNumbers.OperateSerialNumberRequest)">
<summary> <summary>
打印 打印

View File

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

View File

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

View File

@@ -27,7 +27,7 @@ namespace BarCode.Web.Domain.Infrastructure
/// 修改实体集合 /// 修改实体集合
Task<bool> EditEntityList(List<SerialNumberGenerateRecord> entitys, bool isTransaction = true); 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); Task<SerialNumberGenerateRecord?> GetEntity(int id);
} }

View File

@@ -62,5 +62,19 @@ namespace BarCode.Web.Domain.Infrastructure
/// <param name="serialNumber"></param> /// <param name="serialNumber"></param>
/// <returns></returns> /// <returns></returns>
Task<SerialNumbersExternalResponse> GetExternal(string serialNumber); 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.Services.Public;
using BarCode.Web.Domain.Values; using BarCode.Web.Domain.Values;
using BarCode.Web.Domain.Values.Single; using BarCode.Web.Domain.Values.Single;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Storage; using Microsoft.EntityFrameworkCore.Storage;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using Newtonsoft.Json; using Newtonsoft.Json;
using NPOI.HPSF; using NPOI.HPSF;
using NPOI.OpenXmlFormats.Wordprocessing;
using Org.BouncyCastle.Crypto;
using System; using System;
using System.Collections; using System.Collections;
using System.Collections.Generic; using System.Collections.Generic;
@@ -280,7 +283,7 @@ namespace BarCode.Web.Domain.Services
public async Task<Result> DownLoad(OperateSerialNumberRequest dto) 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()) if (generateRecords.Count() != dto.GenerateRecordIds.Count())
return Result.ReFailure(ResultCodes.NoDateError); return Result.ReFailure(ResultCodes.NoDateError);
var snGRList = await _serialNumbersRepositories.GetEntityListByGRIds(dto.GenerateRecordIds); var snGRList = await _serialNumbersRepositories.GetEntityListByGRIds(dto.GenerateRecordIds);
@@ -315,6 +318,86 @@ namespace BarCode.Web.Domain.Services
if (!isSuccess) return Result.ReFailure(ResultCodes.DateWriteError); if (!isSuccess) return Result.ReFailure(ResultCodes.DateWriteError);
return Result.ReSuccess(); 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>
/// 打印 /// 打印
/// </summary> /// </summary>
@@ -324,7 +407,7 @@ namespace BarCode.Web.Domain.Services
public async Task<Result> Print(OperateSerialNumberRequest dto) 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()) if (generateRecords.Count() != dto.GenerateRecordIds.Count())
return Result.ReFailure(ResultCodes.NoDateError); return Result.ReFailure(ResultCodes.NoDateError);
var snGRList = await _serialNumbersRepositories.GetEntityListByGRIds(dto.GenerateRecordIds); var snGRList = await _serialNumbersRepositories.GetEntityListByGRIds(dto.GenerateRecordIds);
@@ -366,7 +449,7 @@ namespace BarCode.Web.Domain.Services
/// <returns></returns> /// <returns></returns>
public async Task<Result> Use(List<int> sGIds) 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); var sGSNumberList = await _serialNumbersRepositories.GetEntityListByGRIds(sGIds);
foreach (var sg in sGList) foreach (var sg in sGList)

View File

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

View File

@@ -16,6 +16,7 @@ using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Storage; using Microsoft.EntityFrameworkCore.Storage;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using Npoi.Mapper; using Npoi.Mapper;
using NPOI.OpenXmlFormats.Wordprocessing;
using NPOI.POIFS.FileSystem; using NPOI.POIFS.FileSystem;
using Quartz.Logging; using Quartz.Logging;
using System; using System;
@@ -250,6 +251,8 @@ namespace BarCode.Web.Repositories
if (materials_result.IsSuccess) if (materials_result.IsSuccess)
materials = materials_result.Data.ToList(); materials = materials_result.Data.ToList();
//var queery2= _context.ser
var query = _context.SerialNumbers.AsNoTracking() var query = _context.SerialNumbers.AsNoTracking()
.GroupJoin(_context.Box, serial => serial.BoxId, box => box.Id, (serial, box) => new { serial, box }) .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 }) .SelectMany(x => x.box.DefaultIfEmpty(), (p, box) => new { p.serial, box })
@@ -704,6 +707,20 @@ namespace BarCode.Web.Repositories
.ToListAsync(); .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> /// <summary>
/// wms系统查询序列码 支持数字序列码 /// wms系统查询序列码 支持数字序列码
/// </summary> /// </summary>