调整函数,支持按份数批量打印
This commit is contained in:
@@ -236,8 +236,9 @@ namespace Tnb.WarehouseMgr
|
||||
[HttpPost, AllowAnonymous]
|
||||
public async Task<dynamic> BatchAdd(CarryBatchAddInput input)
|
||||
{
|
||||
int i = 0, r = 0, num = 0;
|
||||
var nonZeroPattern = @"[1-9]+";
|
||||
int r = 0, num = 0;
|
||||
//var nonZeroPattern = @"[1-9]+";
|
||||
var nonZeroPattern = @"\d+";
|
||||
var code = input.carry_code.Match(@"\D+");
|
||||
if (input.carry_code.IsMatch(@"\d+"))
|
||||
{
|
||||
@@ -246,26 +247,33 @@ namespace Tnb.WarehouseMgr
|
||||
var carrys = await _db.Queryable<WmsCarryH>().Where(it => it.carry_code.Contains(code)).ToListAsync();
|
||||
if (carrys?.Count < 1)
|
||||
{
|
||||
i = Math.Max(num, 1);
|
||||
num = Math.Max(num, 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
var lastCarry = carrys?.OrderByDescending(o => o.carry_code).FirstOrDefault() ?? default;
|
||||
num = lastCarry?.carry_code.Match(nonZeroPattern).ParseToInt() ?? -1;
|
||||
i = num + 1;
|
||||
num = num + 1;
|
||||
}
|
||||
|
||||
var batchCarrys = new List<WmsCarryH>();
|
||||
for (; i <= input.quantity; i++)
|
||||
var batchCarrys = new List<WmsCarryH>(input.quantity);
|
||||
|
||||
for (var i = 1; i <= input.quantity; i++)
|
||||
{
|
||||
if (i != 1)
|
||||
{
|
||||
num += 1;
|
||||
}
|
||||
var sb = new StringBuilder();
|
||||
sb.Append(code);
|
||||
sb.Append(i.ToString().PadLeft(4, '0'));
|
||||
sb.Append(num.ToString().PadLeft(5, '0'));
|
||||
var carryCode = sb.ToString();
|
||||
WmsCarryH carry = input.Adapt<WmsCarryH>();
|
||||
carry.id = SnowflakeIdHelper.NextId();
|
||||
carry.carry_name = carryCode;
|
||||
carry.carry_code = carryCode;
|
||||
carry.is_check = 1;
|
||||
carry.status = 1;
|
||||
carry.create_id = "25398501929509";
|
||||
carry.create_time = DateTime.Now;
|
||||
batchCarrys.Add(carry);
|
||||
@@ -280,10 +288,11 @@ namespace Tnb.WarehouseMgr
|
||||
/// <param name="barCodes"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
public new void BarCodePrint(List<string> barCodes)
|
||||
public new void BarCodePrint(CarryBarCodeInput input)
|
||||
{
|
||||
base.BarCodePrint(barCodes);
|
||||
|
||||
if (input.barCodes == null || input.barCodes.Count < 1) throw new ArgumentNullException(nameof(input.barCodes));
|
||||
input.barCodes = input.barCodes.OrderBy(o => o).ToList();
|
||||
base.BarCodePrint(input.barCodes, input.copies);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user