最後讲一段读取下一码流水号的作法
1.根据前端解析到的选项,每一个属性相加之後,在流水号之前的都是前坠码,之後的尾码
2.找出对应的Sequence_TBL主键名称name,则开始读取下一码
3.拆出流水码的位数,并从目前值往上递增
4.重新组成编号
public string GetNextNumber(Sequence_TBL sequence,bool save)
{
int count = (int)sequence.current_number;
int padding = sequence.digit == null ? 0 :(int)sequence.digit;
sequence.current_number = count ;
string water_number = sequence.digit==0? "": sequence.current_number.ToString().PadLeft(padding, '0');
if (sequence.digit == 1 && sequence.current_number > 9)
{
char c = Convert.ToChar((int)sequence.current_number-9 + 64);
water_number = c.ToString();
}
string item_number = sequence.forward + water_number + sequence.suffix;
var MaxItemNumber = SeqHistoryRepo.FindMax(sequence.forward, sequence.suffix);
if(MaxItemNumber != null)
{
if (string.Compare(item_number, MaxItemNumber.item_number.Trim()) < 0)
{
item_number = MaxItemNumber.item_number.Trim();
}
}
if (sequence.digit != 0)
{
//当号码已存在则跳下一码
var seqHistory = SeqHistoryRepo.Find(item_number);
while (seqHistory != null)
{
//判断是否超过最後一个序号
if (string.Compare(item_number, MaxItemNumber.item_number.Trim()) < 0)
{
seqHistory = SeqHistoryRepo.Find(MaxItemNumber.item_number);
}
else
{
count = (int)sequence.current_number;
padding = sequence.digit == null ? 0 : (int)sequence.digit;
sequence.current_number = count + sequence.increase;
water_number = sequence.digit == 0 ? "" : sequence.current_number.ToString().PadLeft(padding, '0');
if (sequence.digit == 1 && sequence.current_number > 9)
{
char c = Convert.ToChar((int)sequence.current_number - 9 + 64);
water_number = c.ToString();
}
item_number = sequence.forward + water_number + sequence.suffix;
seqHistory = SeqHistoryRepo.Find(item_number);
//判断是否超过最後一个序号
if (string.Compare(item_number, MaxItemNumber.item_number.Trim()) < 0)
{
seqHistory = SeqHistoryRepo.Find(MaxItemNumber.item_number);
}
}
}
}
if (save == true)
{
this.UnitOfWork.Commit();
}
return item_number;
}
<<: 30-14 之 Domain Layer - Service
>>: [Day14] TS:什麽!TypeScript 中还有回圈的概念 - 用 Mapped Type 操作物件型别
疯狂程设是一个练习CPE常用的软件,疯狂程设拥有许多练习题,不是只有CPE。 如何下载疯狂程设?可以...
GitOps 介绍 GitOps 是一种 DevOps 的解决方式,方法是以 Git 为中心,将应用...
之前我们有提到过,canvas其实本身可以看做一群像素形成的2维阵列,而Canvas的图像变形,其实...
各位前辈好 我使用vue-awesome-swiper 3.1.3 vue-cli3 最近想使用第一...
今天呢,来讲讲其他有关字串的用法~ 若是我们今天想知道这个字串的第几个字是什麽 那摸 我们就可以使用...