diff --git a/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/MsgCheck/BillNumberTypeEnum.cs b/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/MsgCheck/BillNumberTypeEnum.cs new file mode 100644 index 0000000..0ab29fb --- /dev/null +++ b/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/MsgCheck/BillNumberTypeEnum.cs @@ -0,0 +1,25 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Text; + +namespace WY.NewJit.MsgCheck +{ + public enum BillNumberTypeEnum + { + [Description("顺序")] + 顺序 = 0, + + /// + /// 已匹配,未打印 + /// + [Description("断号")] + 断号 = 1, + + /// + /// 已打印 + /// + [Description("补打")] + 补打 = 2, + } +} diff --git a/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgCheck/Entitys/BillNumberRecord.cs b/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgCheck/Entitys/BillNumberRecord.cs index 549527d..fd7c2a5 100644 --- a/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgCheck/Entitys/BillNumberRecord.cs +++ b/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgCheck/Entitys/BillNumberRecord.cs @@ -2,6 +2,7 @@ using System; using System.Collections.Generic; using System.Collections.ObjectModel; +using System.ComponentModel.DataAnnotations.Schema; using System.Linq; using System.Text; using System.Threading.Tasks; @@ -34,5 +35,7 @@ namespace WY.NewJit.MsgCheck /// 更新时间# /// public virtual DateTime UpdateTime { get; set; } + [NotMapped] + public virtual Dictionary dic { get; set; } } } diff --git a/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgCheck/Services/BillNumberRecordDomainService.cs b/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgCheck/Services/BillNumberRecordDomainService.cs index b2c558a..66e7990 100644 --- a/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgCheck/Services/BillNumberRecordDomainService.cs +++ b/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgCheck/Services/BillNumberRecordDomainService.cs @@ -25,6 +25,63 @@ namespace WY.NewJit.MsgCheck _logRemindDomainService = logRemindDomainService; } - + public async Task GetBillNumber(int number, string productLine) + { + Dictionary ls = new Dictionary();//待打印数据 + BillNumberRecord record = new BillNumberRecord(); + var bill = await _billNumberRepository.GetAsync(r => r.ProductLine == productLine); + int recordNumber = bill.RecordNumber;//记录号 + int roundNumber = bill.RoundNumber; + int x = number - recordNumber; + if (x <= -1000) + { + roundNumber++; + record.InsertedRows = (1999 - recordNumber) + (number - 1) + 1; + for (int i = 1; i <= record.InsertedRows; i++) + { + BillNumberTypeEnum type = BillNumberTypeEnum.顺序; + if (i + recordNumber > 1999) + { + if ((i + recordNumber - 1999) != number) type = BillNumberTypeEnum.断号; + ls.Add((roundNumber.ToString()+(i + recordNumber - 1999).ToString()), type); + } + else + { + if ((i + recordNumber) != number) type = BillNumberTypeEnum.断号; + ls.Add((roundNumber.ToString()+(i + recordNumber).ToString()), type); + } + } + recordNumber = number; + record.RoundNumber= roundNumber+1; + } + else if (-1000 < x && x < 0) + { + record.RoundNumber = roundNumber; + record.InsertedRows = 0; + ls.Add((roundNumber.ToString() + (recordNumber).ToString()), BillNumberTypeEnum.补打); + } + else if (0 < x && x < 1000) + { + record.RoundNumber = roundNumber; + record.RoundNumber = (number - recordNumber); + + for (int i = 1; i <= record.RoundNumber; i++) + { + BillNumberTypeEnum type = BillNumberTypeEnum.顺序; + if ((i + recordNumber) != number) type = BillNumberTypeEnum.断号; + ls.Add((roundNumber.ToString() + (i + recordNumber).ToString()), type); + } + recordNumber = number; + + } + else if (x >= 1000) + { + record.RoundNumber = roundNumber - 1; + record.RoundNumber = 0; + ls.Add((roundNumber.ToString() + (recordNumber).ToString()), BillNumberTypeEnum.补打); + } + record.dic = ls; + return record; + } } }