打印条码,代码逻辑调整
This commit is contained in:
@@ -42,11 +42,11 @@ namespace Tnb.WarehouseMgr.Entities.Dto
|
||||
/// <summary>
|
||||
/// 需求数量
|
||||
/// </summary>
|
||||
public int pr_qty { get; set; }
|
||||
public decimal? pr_qty { get; set; }
|
||||
/// <summary>
|
||||
/// 实际入库数量
|
||||
/// </summary>
|
||||
public int qty { get; set; }
|
||||
public decimal? qty { get; set; }
|
||||
/// <summary>
|
||||
/// 不含税单价
|
||||
/// </summary>
|
||||
@@ -66,7 +66,7 @@ namespace Tnb.WarehouseMgr.Entities.Dto
|
||||
/// <summary>
|
||||
/// 已打印数量
|
||||
/// </summary>
|
||||
public int print_qty { get; set; }
|
||||
public decimal? print_qty { get; set; }
|
||||
/// <summary>
|
||||
/// 扫描数量
|
||||
/// </summary>
|
||||
|
||||
@@ -52,12 +52,12 @@ public partial class WmsInstockD : BaseEntity<string>
|
||||
/// <summary>
|
||||
/// 入库需求数量
|
||||
/// </summary>
|
||||
public int pr_qty { get; set; }
|
||||
public decimal? pr_qty { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 实际入库数量
|
||||
/// </summary>
|
||||
public int qty { get; set; }
|
||||
public decimal qty { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 原因
|
||||
@@ -132,7 +132,7 @@ public partial class WmsInstockD : BaseEntity<string>
|
||||
/// <summary>
|
||||
/// 已打印数量
|
||||
/// </summary>
|
||||
public int print_qty { get; set; }
|
||||
public decimal print_qty { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 扫描数量
|
||||
|
||||
@@ -42,7 +42,7 @@ public partial class WmsTempCode : BaseEntity<string>
|
||||
/// <summary>
|
||||
/// 条码数量
|
||||
/// </summary>
|
||||
public int? codeqty { get; set; }
|
||||
public decimal? codeqty { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 单位ID
|
||||
|
||||
@@ -3,10 +3,12 @@ using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Aop.Api.Domain;
|
||||
using JNPF.Common.Core.Manager;
|
||||
using JNPF.Systems.Interfaces.System;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Minio.DataModel;
|
||||
using NPOI.SS.Formula.Functions;
|
||||
using SqlSugar;
|
||||
using Tnb.BasicData.Entities;
|
||||
using Tnb.WarehouseMgr.Entities;
|
||||
@@ -70,22 +72,47 @@ namespace Tnb.WarehouseMgr
|
||||
List<WmsTempCode> wmsTempCodes = new();
|
||||
for (int i = 0; i < inStockDetails.Count; i++)
|
||||
{
|
||||
WmsTempCode barCode = new();
|
||||
barCode.org_id = inStockDetails[i].org_id;
|
||||
barCode.material_id = inStockDetails[i].material_id;
|
||||
barCode.material_code = inStockDetails[i].material_code;
|
||||
var code = $"{inStockDetails[i].material_code}{inStockDetails[i].code_batch}{(i + 1).ToString().PadLeft(4, '0')}";
|
||||
barCode.barcode = code;
|
||||
barCode.code_batch = inStockDetails[i].code_batch;
|
||||
barCode.codeqty = (int?)(await _db.Queryable<BasMaterial>().FirstAsync(it => it.id == inStockDetails[i].material_id))?.minpacking;
|
||||
barCode.unit_id = inStockDetails[i].unit_id;
|
||||
barCode.is_lock = 0;
|
||||
barCode.is_end = "0";
|
||||
barCode.require_id = input.BillIds[i];
|
||||
barCode.require_code = (await _db.Queryable<WmsInstockH>().SingleAsync(it => it.id == input.BillIds[i])).bill_code;
|
||||
barCode.create_id = _userManager.UserId;
|
||||
barCode.create_time = DateTime.Now;
|
||||
wmsTempCodes.Add(barCode);
|
||||
if (inStockDetails[i] is null) continue;
|
||||
var minPacking = (await _db.Queryable<BasMaterial>().FirstAsync(it => it.id == inStockDetails[i].material_id))?.minpacking;
|
||||
var codeNum = 0;
|
||||
|
||||
if (inStockDetails[i].pr_qty.HasValue && minPacking.HasValue && minPacking.Value > 0)
|
||||
{
|
||||
var mod = (int)(inStockDetails[i].pr_qty.Value % minPacking.Value);
|
||||
codeNum = (int)(mod > 0 ? inStockDetails[i].pr_qty / minPacking.Value + 1 : inStockDetails[i].pr_qty / minPacking.Value);
|
||||
if (inStockDetails[i].pr_qty.Value > minPacking.Value)
|
||||
{
|
||||
for (int j = 0; j < codeNum; j++)
|
||||
{
|
||||
var index = j + 1;
|
||||
WmsTempCode barCode = await CreateInstock(inStockDetails[i], index);
|
||||
if (minPacking.HasValue)
|
||||
{
|
||||
if (index < codeNum)
|
||||
{
|
||||
barCode.codeqty = minPacking;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (mod > 0) barCode.codeqty = mod;
|
||||
else barCode.codeqty = minPacking;
|
||||
}
|
||||
}
|
||||
wmsTempCodes.Add(barCode);
|
||||
}
|
||||
}
|
||||
else if (inStockDetails[i].pr_qty.Value <= minPacking.Value)
|
||||
{
|
||||
WmsTempCode barCode = await CreateInstock(inStockDetails[i], i + 1);
|
||||
wmsTempCodes.Add(barCode);
|
||||
}
|
||||
|
||||
}
|
||||
else if (!minPacking.HasValue)
|
||||
{
|
||||
WmsTempCode barCode = await CreateInstock(inStockDetails[i], i + 1);
|
||||
wmsTempCodes.Add(barCode);
|
||||
}
|
||||
}
|
||||
var row = await _db.Insertable(wmsTempCodes).ExecuteCommandAsync();
|
||||
if (row > 0)
|
||||
@@ -96,17 +123,39 @@ namespace Tnb.WarehouseMgr
|
||||
|
||||
await _db.Ado.CommitTranAsync();
|
||||
}
|
||||
catch (Exception)
|
||||
catch (Exception ex)
|
||||
{
|
||||
await _db.Ado.RollbackTranAsync();
|
||||
}
|
||||
}
|
||||
|
||||
private async Task<WmsTempCode> CreateInstock(WmsInstockD detail, int no)
|
||||
{
|
||||
var instock = await _db.Queryable<WmsInstockH>().SingleAsync(it => it.id == detail.bill_id);
|
||||
WmsTempCode barCode = new();
|
||||
barCode.org_id = detail.org_id;
|
||||
barCode.material_id = detail.material_id;
|
||||
barCode.material_code = detail.material_code;
|
||||
var code = $"{detail.material_code}{detail.code_batch}{no.ToString().PadLeft(4, '0')}";
|
||||
barCode.barcode = code;
|
||||
barCode.code_batch = detail.code_batch;
|
||||
barCode.codeqty = detail.pr_qty.Value;
|
||||
barCode.unit_id = detail.unit_id;
|
||||
barCode.is_lock = 0;
|
||||
barCode.is_end = "0";
|
||||
barCode.require_id = detail.bill_id;
|
||||
barCode.require_code = instock?.bill_code;
|
||||
barCode.create_id = _userManager.UserId;
|
||||
barCode.create_time = DateTime.Now;
|
||||
return barCode;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 扫码入库
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
public async Task SacnBarCodeInStock()
|
||||
public async Task SacnBarCodeInStock()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user