Browse Source

打印纪律服务添加注释

master
lvzb 1 year ago
parent
commit
3606af5aec
  1. 68
      src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgCheck/Services/BillNumberRecordDomainService.cs

68
src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgCheck/Services/BillNumberRecordDomainService.cs

@ -15,7 +15,7 @@ using WY.NewJit.PrintTable;
namespace WY.NewJit.MsgCheck
{
[Dependency(Microsoft.Extensions.DependencyInjection.ServiceLifetime.Singleton, ReplaceServices =true)]
[Dependency(Microsoft.Extensions.DependencyInjection.ServiceLifetime.Singleton, ReplaceServices = true)]
public class BillNumberRecordDomainService : DomainService
{
private readonly IRepository<BillNumberRecord, Guid> _billNumberRepository;
@ -23,7 +23,7 @@ namespace WY.NewJit.MsgCheck
private ILogger<M100CheckDomainService> _logger;//日志
private readonly LogRemindDomainService _logRemindDomainService;
private readonly Microsoft.Extensions.Configuration.IConfiguration _configuration;//配置
public static List<BillNumberRecord> _billNumberRecordCaches= new List<BillNumberRecord>() ;//记录内
public static List<BillNumberRecord> _billNumberRecordCaches = new List<BillNumberRecord>();//记录缓
public BillNumberRecordDomainService(
IRepository<BillNumberRecord, Guid> billNumberRepository,
@ -41,45 +41,45 @@ namespace WY.NewJit.MsgCheck
/// <summary>
/// 获取和更新记录和内存
/// </summary>
/// <param name="isupdate"></param>
/// <param name="isupdate">true 更新缓存 false 获取缓存</param>
/// <returns></returns>
public async Task<ObjectResultDto> GetOrUpDateBillNumberRecordCache(bool isupdate)
{
ObjectResultDto ret = new ObjectResultDto(true, null);
if (isupdate)
{
//await _billNumberRepository.UpdateManyAsync(_billNumberRecordCaches);
foreach (var item in _billNumberRecordCaches)
{
var re = await _billNumberRepository.GetListAsync(r=>r.Id==item.Id);
if (re.Count == 0)
{
await _billNumberRepository.InsertAsync(item);
}
else
{
await _billNumberRepository.UpdateAsync(item);
}
var re = await _billNumberRepository.GetListAsync(r => r.Id == item.Id);
if (re.Count == 0)
{
await _billNumberRepository.InsertAsync(item);//缓存记录表无纪律则插入
}
else
{
await _billNumberRepository.UpdateAsync(item);//缓存记录表有纪律则更新
}
}
}
else
{
_billNumberRecordCaches.Clear();
_billNumberRecordCaches = await _billNumberRepository.GetListAsync();
_billNumberRecordCaches.Clear();//清空缓存
_billNumberRecordCaches = await _billNumberRepository.GetListAsync();
//验证验证记录缓存和未打印列表里是否一致
foreach (var item in _billNumberRecordCaches)
{
var list = await _waitPrintRepository.GetListAsync(r => r.ProductLine == item.ProductLine);
if (list.Count > 0) //当未打印列表里有未打印数据则验证
{
var list = await _waitPrintRepository.GetListAsync(r => r.ProductLine == item.ProductLine);
if (list.Count > 0)
var max = list.Select(r => r.HostSN2).Max(); //当前产线未打印列表里hostsn2最大号
if ((item.RecordNumber + item.RoundNumber * 100000) != max)//验证记录缓存和未打印列表里是否一致不一致报错
{
var max = list.Select(r => r.HostSN2).Max();
if ((item.RecordNumber + item.RoundNumber * 100000) != max)
{
ret.Status = false;
ret.Message = "获取记录缓存错误!";
_logger.LogDebug("获取记录缓存错误!");
}
ret.Status = false;
ret.Message = "获取记录缓存错误!";
_logger.LogDebug("获取记录缓存错误!");
}
}
}
}
return ret;
@ -87,16 +87,16 @@ namespace WY.NewJit.MsgCheck
/// <summary>
/// 解析号码
/// </summary>
/// <param name="number"></param>
/// <param name="productLine"></param>
/// <param name="number">大众顺序号</param>
/// <param name="productLine">产线</param>
/// <returns></returns>
public async Task<BillNumberRecord> GetBillNumber(int number, string productLine)
{
List<PrintData> datas = new List<PrintData>();
var recordcache= _billNumberRecordCaches.FirstOrDefault(r=>r.ProductLine==productLine);
if (recordcache == null)
var recordcache = _billNumberRecordCaches.FirstOrDefault(r => r.ProductLine == productLine);
if (recordcache == null)//如果缓存为空则插入缓存
{
recordcache = new BillNumberRecord( GuidGenerator.Create(), productLine, 1,number,0, DateTime.Now);
recordcache = new BillNumberRecord(GuidGenerator.Create(), productLine, 1, number, 0, DateTime.Now);
_billNumberRecordCaches.Add(recordcache);
var item = CreatPrintData(BillNumberTypeEnum., number, 1 * 100000);
datas.Add(item);
@ -122,11 +122,11 @@ namespace WY.NewJit.MsgCheck
BillNumberTypeEnum type = BillNumberTypeEnum.;
if (i + recordNumber > 1999)
{
if ((i + recordNumber - 1999) != number)
if ((i + recordNumber - 1999) != number)
{
type = BillNumberTypeEnum.;
_logger.LogDebug($"#999#产生断号数据【{i + recordNumber - 1999}】,传入号码为【{number}】,缓存号码【{recordcache.RecordNumber}】,插入条数【{recordcache.InsertedRows}】,轮数【{roundNumber}】,下一轮");
}
}
item = CreatPrintData(type, i + recordNumber - 1999, roundNumber * 100000);
}
else
@ -160,12 +160,12 @@ namespace WY.NewJit.MsgCheck
for (int i = 1; i <= recordcache.InsertedRows; i++)
{
BillNumberTypeEnum type = BillNumberTypeEnum.;
if ((i + recordNumber) != number)
if ((i + recordNumber) != number)
{
type = BillNumberTypeEnum.;
_logger.LogDebug($"#999#产生断号数据【{i + recordNumber}】,传入号码为【{number}】,缓存号码【{recordcache.RecordNumber}】,插入条数【{recordcache.InsertedRows}】,轮数【{recordcache.RoundNumber}】,方法当前轮数");
}
var item = CreatPrintData(type, i + recordNumber, roundNumber * 100000);
datas.Add(item);
}
@ -191,7 +191,7 @@ namespace WY.NewJit.MsgCheck
/// <param name="hostSn"></param>
/// <param name="round"></param>
/// <returns></returns>
private PrintData CreatPrintData(BillNumberTypeEnum type ,int hostSn,int round )
private PrintData CreatPrintData(BillNumberTypeEnum type, int hostSn, int round)
{
PrintData item = new PrintData();
item.BillNumberType = type;

Loading…
Cancel
Save