增加了初始数据处理
This commit is contained in:
@@ -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>
|
||||
|
||||
@@ -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", //数据库类型
|
||||
|
||||
@@ -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>
|
||||
获取序列号信息
|
||||
|
||||
@@ -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>
|
||||
打印
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user