采购收货,销售发货业务代码提交
This commit is contained in:
@@ -24,7 +24,7 @@ namespace Tnb.WarehouseMgr
|
||||
/// </summary>
|
||||
[OverideVisualDev(ModuleConsts.MODULE_WMSSCANCODEINSTOCKPDA_ID)]
|
||||
[ServiceModule(BizTypeId)]
|
||||
public class WmsPDAScanInStockService : BaseWareHouseService, IPdaStroage
|
||||
public class WmsPDAScanInStockService : BaseWareHouseService, IWmsPDAScanInStockService, IPdaStroage
|
||||
{
|
||||
private const string BizTypeId = "26191496816421";
|
||||
private readonly ISqlSugarClient _db;
|
||||
@@ -57,90 +57,126 @@ namespace Tnb.WarehouseMgr
|
||||
try
|
||||
{
|
||||
await _db.Ado.BeginTranAsync();
|
||||
WmsInstockCode item = input.data.Adapt<WmsInstockCode>();
|
||||
if (item.codeqty == 0)
|
||||
WmsInstockCode? item = null;
|
||||
BasMaterial? mat = null;
|
||||
WmsCarryH? carry = null;
|
||||
BasLocation? loc = null;
|
||||
string? carryCode = null;
|
||||
|
||||
if (input.data.ContainsKey(nameof(WmsInstockCode.barcode)))
|
||||
{
|
||||
throw new AppFriendlyException("请输入入库数量", 500);
|
||||
item = input.data.Adapt<WmsInstockCode>();
|
||||
if (item.codeqty == 0)
|
||||
{
|
||||
throw new AppFriendlyException("请输入入库数量", 500);
|
||||
}
|
||||
|
||||
carryCode = item.barcode;
|
||||
carry = await _db.Queryable<WmsCarryH>().FirstAsync(it => it.carry_code == carryCode);
|
||||
if (carry == null)
|
||||
{
|
||||
throw new AppFriendlyException("载具有误", 500);
|
||||
}
|
||||
|
||||
mat = await _db.Queryable<BasMaterial>().FirstAsync(it => it.code == item.material_code);
|
||||
if (mat == null)
|
||||
{
|
||||
throw new AppFriendlyException("物料有误", 500);
|
||||
}
|
||||
|
||||
loc = await _db.Queryable<BasLocation>().FirstAsync(it => it.location_code == item.extras);
|
||||
if (loc == null)
|
||||
{
|
||||
throw new AppFriendlyException("库位有误", 500);
|
||||
}
|
||||
}
|
||||
|
||||
string carryCode = item.barcode;
|
||||
WmsCarryH carry = await _db.Queryable<WmsCarryH>().FirstAsync(it => it.carry_code == carryCode);
|
||||
if (carry == null)
|
||||
{
|
||||
throw new AppFriendlyException("载具有误", 500);
|
||||
}
|
||||
|
||||
BasMaterial mat = await _db.Queryable<BasMaterial>().FirstAsync(it => it.code == item.material_code);
|
||||
if (mat == null)
|
||||
{
|
||||
throw new AppFriendlyException("物料有误", 500);
|
||||
}
|
||||
|
||||
BasLocation loc = await _db.Queryable<BasLocation>().FirstAsync(it => it.location_code == item.extras);
|
||||
if (loc == null)
|
||||
{
|
||||
throw new AppFriendlyException("库位有误", 500);
|
||||
}
|
||||
var whId = input.data.ContainsKey(nameof(WmsPurchaseH.warehouse_id)) ? input.data[nameof(WmsPurchaseH.warehouse_id)] : null;
|
||||
var billCode = input.data.ContainsKey(nameof(WmsPurchaseH.bill_code)) ? input.data[nameof(WmsPurchaseH.warehouse_id)] : null;
|
||||
|
||||
WmsInstockH instock = new()
|
||||
{
|
||||
id = SnowflakeIdHelper.NextId(),
|
||||
org_id = _userManager.UserId,
|
||||
carry_code = carryCode,
|
||||
carry_id = carry.id,
|
||||
location_id = loc.id,
|
||||
carry_id = carry?.id ?? string.Empty,
|
||||
location_id = loc?.id ?? string.Empty,
|
||||
bill_code = _billRullService.GetBillNumber(WmsWareHouseConst.WMS_INSTOCK_ENCODE).GetAwaiter().GetResult(),
|
||||
bill_type = WmsWareHouseConst.BILLTYPE_MATERIALINSTOCK_ID,
|
||||
biz_type = WmsWareHouseConst.BIZTYPE_WMSINSTOCK_ID,
|
||||
bill_date = DateTime.Today,
|
||||
warehouse_id = "26103372441637",
|
||||
warehouse_id = whId?.ToString() ?? "26103372441637",
|
||||
status = WmsWareHouseConst.BILLSTATUS_ADD_ID,
|
||||
generate_type = "0",
|
||||
sync_status = WmsWareHouseConst.SYNC_STATUS_NONEEDSYNC,
|
||||
print_status = WmsWareHouseConst.PRINT_STATUS_PRINTCOMPLETE,
|
||||
is_check = 1,
|
||||
purchase_code = billCode?.ToString() ?? string.Empty,
|
||||
create_id = _userManager.UserId,
|
||||
create_time = DateTime.Now,
|
||||
};
|
||||
WmsInstockD instockD = new()
|
||||
var instockDs = new List<WmsInstockD>();
|
||||
WmsInstockD? instockD = null;
|
||||
if (mat != null)
|
||||
{
|
||||
id = SnowflakeIdHelper.NextId(),
|
||||
bill_id = instock.id,
|
||||
line_status = WmsWareHouseConst.BILLSTATUS_ADD_ID,
|
||||
material_id = mat.id,
|
||||
material_code = mat.code,
|
||||
unit_id = mat.unit_id,
|
||||
pr_qty = item.codeqty,
|
||||
qty = 0,
|
||||
code_batch = item.code_batch,
|
||||
warehouse_id = "26103372441637",
|
||||
print_qty = item.codeqty,
|
||||
scan_qty = item.codeqty,
|
||||
print_id = "",
|
||||
create_id = _userManager.UserId,
|
||||
create_time = DateTime.Now,
|
||||
};
|
||||
WmsInstockCode instockCode = new()
|
||||
instockD = new()
|
||||
{
|
||||
id = SnowflakeIdHelper.NextId(),
|
||||
bill_id = instock.id,
|
||||
line_status = WmsWareHouseConst.BILLSTATUS_ADD_ID,
|
||||
material_id = mat.id,
|
||||
material_code = mat.code,
|
||||
unit_id = mat.unit_id,
|
||||
pr_qty = item.codeqty,
|
||||
qty = 0,
|
||||
code_batch = item.code_batch,
|
||||
warehouse_id = "26103372441637",
|
||||
print_qty = item.codeqty,
|
||||
scan_qty = item.codeqty,
|
||||
print_id = "",
|
||||
create_id = _userManager.UserId,
|
||||
create_time = DateTime.Now,
|
||||
};
|
||||
instockDs.Add(instockD);
|
||||
}
|
||||
else
|
||||
{
|
||||
id = SnowflakeIdHelper.NextId(),
|
||||
bill_id = instock.id,
|
||||
bill_d_id = instockD.id,
|
||||
line_status = WmsWareHouseConst.BILLSTATUS_ADD_ID,
|
||||
material_id = mat.id,
|
||||
material_code = mat.code,
|
||||
unit_id = mat.unit_id,
|
||||
barcode = carryCode,
|
||||
code_batch = item.code_batch,
|
||||
codeqty = item.codeqty,
|
||||
is_lock = 0,
|
||||
is_end = 0,
|
||||
create_id = _userManager.UserId,
|
||||
create_time = DateTime.Now,
|
||||
};
|
||||
if (input.data.ContainsKey("details"))
|
||||
{
|
||||
instockDs = input.data["details"].Adapt<List<WmsInstockD>>();
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
WmsInstockCode? instockCode = null;
|
||||
if (mat != null)
|
||||
{
|
||||
instockCode = new()
|
||||
{
|
||||
id = SnowflakeIdHelper.NextId(),
|
||||
bill_id = instock.id,
|
||||
bill_d_id = instockD?.id ?? string.Empty,
|
||||
line_status = WmsWareHouseConst.BILLSTATUS_ADD_ID,
|
||||
material_id = mat.id,
|
||||
material_code = mat.code,
|
||||
unit_id = mat.unit_id,
|
||||
barcode = carryCode,
|
||||
code_batch = item.code_batch,
|
||||
codeqty = item.codeqty,
|
||||
is_lock = 0,
|
||||
is_end = 0,
|
||||
create_id = _userManager.UserId,
|
||||
create_time = DateTime.Now,
|
||||
};
|
||||
}
|
||||
|
||||
_ = await _db.Insertable(instock).ExecuteCommandAsync();
|
||||
_ = await _db.Insertable(instockD).ExecuteCommandAsync();
|
||||
_ = await _db.Insertable(instockCode).ExecuteCommandAsync();
|
||||
_ = await _db.Insertable(instockDs).ExecuteCommandAsync();
|
||||
if (instockCode != null)
|
||||
{
|
||||
_ = await _db.Insertable(instockCode).ExecuteCommandAsync();
|
||||
}
|
||||
|
||||
|
||||
InStockStrategyQuery inStockStrategyInput = new() { warehouse_id = "26103372441637", Size = 1 };
|
||||
|
||||
Reference in New Issue
Block a user