|
|
@ -25,6 +25,63 @@ namespace WY.NewJit.MsgCheck |
|
|
|
_logRemindDomainService = logRemindDomainService; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public async Task<BillNumberRecord> GetBillNumber(int number, string productLine) |
|
|
|
{ |
|
|
|
Dictionary<string, BillNumberTypeEnum> ls = new Dictionary<string, BillNumberTypeEnum>();//待打印数据
|
|
|
|
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; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|