生成与任务,新增条码集合参数
This commit is contained in:
@@ -461,16 +461,19 @@ namespace Tnb.WarehouseMgr
|
||||
await _db.Ado.RollbackTranAsync();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 生成预任务
|
||||
/// </summary>
|
||||
/// <param name="preTasks"></param>
|
||||
/// <param name="preTasks">预任务集合</param>
|
||||
/// <param name="preTaskCodes">预任务编码集合</param>
|
||||
/// <returns></returns>
|
||||
/// <exception cref="NotImplementedException"></exception>
|
||||
public async Task<bool> GenPreTask(List<WmsPretaskH> preTasks)
|
||||
public async Task<bool> GenPreTask(List<WmsPretaskH> preTasks, List<WmsPretaskCode> preTaskCodes)
|
||||
{
|
||||
var row = await _db.Insertable(preTasks).ExecuteCommandAsync();
|
||||
if (preTaskCodes?.Count > 0)
|
||||
{
|
||||
row = await _db.Insertable(preTaskCodes).ExecuteCommandAsync();
|
||||
}
|
||||
return row > 0;
|
||||
}
|
||||
/// <summary>
|
||||
|
||||
@@ -115,7 +115,7 @@ namespace Tnb.WarehouseMgr
|
||||
preTask.create_time = DateTime.Now;
|
||||
return preTask;
|
||||
}).ToList();
|
||||
var isOk = await _wareHouseService.GenPreTask(preTasks);
|
||||
var isOk = await _wareHouseService.GenPreTask(preTasks,null);
|
||||
if (isOk)
|
||||
{
|
||||
var preTaskUpInput = new GenPreTaskUpInput();
|
||||
@@ -146,7 +146,6 @@ namespace Tnb.WarehouseMgr
|
||||
it => new BasLocation { is_lock = 1 });
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
await _db.Ado.CommitTranAsync();
|
||||
|
||||
@@ -113,7 +113,7 @@ namespace Tnb.WarehouseMgr
|
||||
preTask.create_time = DateTime.Now;
|
||||
return preTask;
|
||||
}).ToList();
|
||||
var isOk = await _wareHouseService.GenPreTask(preTasks);
|
||||
var isOk = await _wareHouseService.GenPreTask(preTasks,null);
|
||||
if (isOk)
|
||||
{
|
||||
var preTaskUpInput = new GenPreTaskUpInput();
|
||||
|
||||
@@ -149,7 +149,7 @@ namespace Tnb.WarehouseMgr
|
||||
preTask.create_time = DateTime.Now;
|
||||
return preTask;
|
||||
}).ToList();
|
||||
var isOk = await _wareHouseService.GenPreTask(preTasks);
|
||||
var isOk = await _wareHouseService.GenPreTask(preTasks,null);
|
||||
if (isOk)
|
||||
{
|
||||
//不需要插入操作表
|
||||
|
||||
@@ -114,7 +114,7 @@ namespace Tnb.WarehouseMgr
|
||||
preTask.create_time = DateTime.Now;
|
||||
return preTask;
|
||||
}).ToList();
|
||||
var isOk = await _wareHouseService.GenPreTask(preTasks);
|
||||
var isOk = await _wareHouseService.GenPreTask(preTasks,null);
|
||||
if (isOk)
|
||||
{
|
||||
var preTaskUpInput = new GenPreTaskUpInput();
|
||||
|
||||
@@ -138,7 +138,7 @@ namespace Tnb.WarehouseMgr
|
||||
preTask.create_time = DateTime.Now;
|
||||
return preTask;
|
||||
}).ToList();
|
||||
var isOk = await _wareHouseService.GenPreTask(preTasks);
|
||||
var isOk = await _wareHouseService.GenPreTask(preTasks,null);
|
||||
if (isOk)
|
||||
{
|
||||
var preTaskUpInput = new GenPreTaskUpInput();
|
||||
|
||||
@@ -116,7 +116,7 @@ namespace Tnb.WarehouseMgr
|
||||
preTask.create_time = DateTime.Now;
|
||||
return preTask;
|
||||
}).ToList();
|
||||
var isOk = await _wareHouseService.GenPreTask(preTasks);
|
||||
var isOk = await _wareHouseService.GenPreTask(preTasks,null);
|
||||
if (isOk)
|
||||
{
|
||||
var preTaskUpInput = new GenPreTaskUpInput();
|
||||
|
||||
@@ -113,7 +113,7 @@ namespace Tnb.WarehouseMgr
|
||||
preTask.create_time = DateTime.Now;
|
||||
return preTask;
|
||||
}).ToList();
|
||||
var isOk = await _wareHouseService.GenPreTask(preTasks);
|
||||
var isOk = await _wareHouseService.GenPreTask(preTasks,null);
|
||||
if (isOk)
|
||||
{
|
||||
var preTaskUpInput = new GenPreTaskUpInput();
|
||||
|
||||
@@ -148,7 +148,7 @@ namespace Tnb.WarehouseMgr
|
||||
preTask.create_time = DateTime.Now;
|
||||
return preTask;
|
||||
}).ToList();
|
||||
var isOk = await _wareHouseService.GenPreTask(preTasks);
|
||||
var isOk = await _wareHouseService.GenPreTask(preTasks,null);
|
||||
if (isOk)
|
||||
{
|
||||
//不需要插入操作表
|
||||
|
||||
@@ -114,7 +114,7 @@ namespace Tnb.WarehouseMgr
|
||||
preTask.create_time = DateTime.Now;
|
||||
return preTask;
|
||||
}).ToList();
|
||||
var isOk = await _wareHouseService.GenPreTask(preTasks);
|
||||
var isOk = await _wareHouseService.GenPreTask(preTasks,null);
|
||||
if (isOk)
|
||||
{
|
||||
var preTaskUpInput = new GenPreTaskUpInput();
|
||||
|
||||
@@ -138,7 +138,7 @@ namespace Tnb.WarehouseMgr
|
||||
preTask.create_time = DateTime.Now;
|
||||
return preTask;
|
||||
}).ToList();
|
||||
var isOk = await _wareHouseService.GenPreTask(preTasks);
|
||||
var isOk = await _wareHouseService.GenPreTask(preTasks,null);
|
||||
if (isOk)
|
||||
{
|
||||
var preTaskUpInput = new GenPreTaskUpInput();
|
||||
|
||||
@@ -63,13 +63,16 @@ namespace Tnb.WarehouseMgr
|
||||
|
||||
private async Task<dynamic> ScanCodeInStock(VisualDevModelDataCrInput input)
|
||||
{
|
||||
|
||||
try
|
||||
{
|
||||
await _db.Ado.BeginTranAsync();
|
||||
|
||||
//VisualDevEntity? templateEntity = await _visualDevService.GetInfoById(ModuleConsts.MODULE_WMSINSTOCKPDA_ID, true);
|
||||
//await _runService.Create(templateEntity, input);
|
||||
JArray jArr = null;
|
||||
if (input.data.ContainsKey("tablefield115"))
|
||||
{
|
||||
jArr = JArray.Parse(input.data["tablefield115"].ToString());
|
||||
}
|
||||
|
||||
//入库取终点 //出库起点
|
||||
var inStockStrategyInput = new InStockStrategyQuery { warehouse_id = input.data[nameof(InStockStrategyQuery.warehouse_id)].ToString(), Size = 1 };
|
||||
var endLocations = await _wareHouseService.InStockStrategy(inStockStrategyInput);
|
||||
@@ -95,7 +98,7 @@ namespace Tnb.WarehouseMgr
|
||||
{
|
||||
var sPoint = it.FirstOrDefault();
|
||||
var ePoint = it.LastOrDefault();
|
||||
|
||||
|
||||
WmsPretaskH preTask = new();
|
||||
preTask.org_id = _userManager.User.OrganizeId;
|
||||
preTask.startlocation_id = sPoint?.location_id;
|
||||
@@ -118,7 +121,28 @@ namespace Tnb.WarehouseMgr
|
||||
preTask.create_time = DateTime.Now;
|
||||
return preTask;
|
||||
}).ToList();
|
||||
var isOk = await _wareHouseService.GenPreTask(preTasks);
|
||||
//生成预任务条码信息
|
||||
List<WmsPretaskCode> pretaskCodes = new();
|
||||
foreach (var pt in preTasks)
|
||||
{
|
||||
if (jArr?.Children().Count() > 0)
|
||||
{
|
||||
foreach (var jo in jArr.Children())
|
||||
{
|
||||
var ptc = pt.Adapt<WmsPretaskCode>();
|
||||
ptc.id = SnowflakeIdHelper.NextId();
|
||||
ptc.bill_id = pt.id;
|
||||
ptc.material_id = jo.Value<string>(nameof(WmsPretaskCode.material_id));
|
||||
ptc.material_code = jo.Value<string>(nameof(WmsPretaskCode.material_code));
|
||||
ptc.barcode = jo.Value<string>(nameof(WmsPretaskCode.barcode));
|
||||
ptc.codeqty = jo.Value<int>(nameof(WmsPretaskCode.codeqty));
|
||||
ptc.unit_id = jo.Value<string>(nameof(WmsPretaskCode.unit_id));
|
||||
pretaskCodes.Add(ptc);
|
||||
}
|
||||
}
|
||||
}
|
||||
//生成预任务,同时如果包含条码信息同时插入条码记录
|
||||
var isOk = await _wareHouseService.GenPreTask(preTasks, pretaskCodes);
|
||||
if (isOk)
|
||||
{
|
||||
var preTaskUpInput = new GenPreTaskUpInput();
|
||||
@@ -127,11 +151,11 @@ namespace Tnb.WarehouseMgr
|
||||
preTaskUpInput.CarryStartLocationId = points.FirstOrDefault().location_id;
|
||||
preTaskUpInput.CarryStartLocationCode = points.FirstOrDefault().location_code;
|
||||
preTaskUpInput.LocationIds = points.Select(x => x.location_id).ToList();
|
||||
//preTaskUpInput.PreTaskRecords = preTasks.Adapt<List<WmsHandleH>>();
|
||||
if (input.data.ContainsKey(nameof(WmsInstockH.bill_code)) && input.data[nameof(WmsInstockH.bill_code)].IsNotEmptyOrNull())
|
||||
if (input.data.ContainsKey("bill_id") && input.data["bill_id"].IsNotEmptyOrNull())
|
||||
{
|
||||
//创建预任务操作记录
|
||||
var operBillId = string.Empty;
|
||||
var instockH = await _db.Queryable<WmsInstockH>().FirstAsync(it => it.id == input.data[nameof(WmsInstockH.bill_code)].ToString());
|
||||
var instockH = await _db.Queryable<WmsInstockH>().FirstAsync(it => it.id == input.data["bill_id"].ToString());
|
||||
if (instockH != null)
|
||||
{
|
||||
var handleH = instockH.Adapt<WmsHandleH>();
|
||||
@@ -141,31 +165,39 @@ namespace Tnb.WarehouseMgr
|
||||
handleH.carry_code = input.data[nameof(WmsHandleH.carry_code)]?.ToString();
|
||||
preTaskUpInput.PreTaskRecord = handleH;
|
||||
}
|
||||
|
||||
if (input.data.ContainsKey("tablefield115"))
|
||||
//创建预任务条码操作记录
|
||||
jArr = JArray.Parse(input.data["tablefield115"].ToString());
|
||||
if (jArr?.Children().Count() > 0)
|
||||
{
|
||||
JArray jArr = JArray.Parse(input.data["tablefield115"].ToString());
|
||||
if (jArr?.Children().Count() > 0)
|
||||
foreach (var jo in jArr.Children())
|
||||
{
|
||||
foreach (var jo in jArr.Children())
|
||||
{
|
||||
var materialId = jo.Value<string>(nameof(WmsHandleCode.material_id));
|
||||
WmsHandleCode handleCode = new();
|
||||
handleCode.bill_id = operBillId;
|
||||
handleCode.material_id = materialId;
|
||||
handleCode.material_code = jo.Value<string>(nameof(WmsHandleCode.material_code));
|
||||
handleCode.barcode = jo.Value<string>(nameof(WmsHandleCode.barcode));
|
||||
handleCode.code_batch = jo.Value<string>(nameof(WmsHandleCode.code_batch));
|
||||
handleCode.codeqty = jo.Value<int>(nameof(WmsHandleCode.codeqty));
|
||||
handleCode.unit_id = _db.Queryable<BasMaterial>().Single(it => it.id == materialId).unit_id;
|
||||
handleCode.create_id = _userManager.UserId;
|
||||
handleCode.create_time = DateTime.Now;
|
||||
preTaskUpInput.PreTaskHandleCodes.Add(handleCode);
|
||||
}
|
||||
var materialId = jo.Value<string>(nameof(WmsHandleCode.material_id));
|
||||
WmsHandleCode handleCode = new();
|
||||
handleCode.org_id = _userManager.User.OrganizeId;
|
||||
handleCode.bill_id = operBillId;
|
||||
handleCode.material_id = materialId;
|
||||
handleCode.material_code = jo.Value<string>(nameof(WmsHandleCode.material_code));
|
||||
handleCode.barcode = jo.Value<string>(nameof(WmsHandleCode.barcode));
|
||||
handleCode.code_batch = jo.Value<string>(nameof(WmsHandleCode.code_batch));
|
||||
handleCode.codeqty = jo.Value<int>(nameof(WmsHandleCode.codeqty));
|
||||
handleCode.unit_id = _db.Queryable<BasMaterial>().Single(it => it.id == materialId).unit_id;
|
||||
handleCode.create_id = _userManager.UserId;
|
||||
handleCode.create_time = DateTime.Now;
|
||||
preTaskUpInput.PreTaskHandleCodes.Add(handleCode);
|
||||
}
|
||||
}
|
||||
//生成载具条码记录
|
||||
var carryCodes = preTaskUpInput.PreTaskHandleCodes.Adapt<List<WmsCarryCode>>();
|
||||
carryCodes.ForEach(x =>
|
||||
{
|
||||
x.id = SnowflakeIdHelper.NextId();
|
||||
x.is_out = 0;
|
||||
});
|
||||
//生成入库申请条码
|
||||
|
||||
await _db.Insertable(preTaskUpInput.PreTaskRecord).ExecuteCommandAsync();
|
||||
}
|
||||
await _db.Insertable(preTaskUpInput.PreTaskRecord).ExecuteCommandAsync();
|
||||
|
||||
await _db.Updateable<WmsCarryH>().SetColumns(it => new WmsCarryH { carry_code = input.data[nameof(WmsCarryH.carry_code)].ToString(), is_lock = (int)EnumCarryStatus.占用, location_id = preTaskUpInput.CarryStartLocationId, location_code = preTaskUpInput.CarryStartLocationCode }).Where(it => it.id == preTaskUpInput.CarryId).ExecuteCommandAsync();
|
||||
|
||||
}
|
||||
|
||||
@@ -112,19 +112,19 @@ namespace Tnb.WarehouseMgr
|
||||
preTask.create_time = DateTime.Now;
|
||||
return preTask;
|
||||
}).ToList();
|
||||
var isOk = await _wareHouseService.GenPreTask(preTasks);
|
||||
var isOk = await _wareHouseService.GenPreTask(preTasks, null);
|
||||
if (isOk)
|
||||
{
|
||||
//不需要插入操作表
|
||||
/* var preTaskUpInput = new GenPreTaskUpInput();
|
||||
preTaskUpInput.PreTaskId = input.data["ReturnIdentity"].ToString();
|
||||
preTaskUpInput.CarryId = input.data[nameof(WmsCarryD.carry_id)]?.ToString()!;
|
||||
preTaskUpInput.CarryStartLocationId = points.FirstOrDefault().location_id;
|
||||
preTaskUpInput.CarryStartLocationCode = points.FirstOrDefault().location_code;
|
||||
preTaskUpInput.LocationIds = points.Select(x => x.location_id).ToList();
|
||||
preTaskUpInput.PreTaskRecords = preTasks.Adapt<List<WmsHandleH>>();
|
||||
preTaskUpInput.PreTaskRecords.ForEach(x => x.id = SnowflakeIdHelper.NextId());
|
||||
await _wareHouseService.GenTaskHandleAfter(preTaskUpInput);*/
|
||||
//不需要插入操作表
|
||||
/* var preTaskUpInput = new GenPreTaskUpInput();
|
||||
preTaskUpInput.PreTaskId = input.data["ReturnIdentity"].ToString();
|
||||
preTaskUpInput.CarryId = input.data[nameof(WmsCarryD.carry_id)]?.ToString()!;
|
||||
preTaskUpInput.CarryStartLocationId = points.FirstOrDefault().location_id;
|
||||
preTaskUpInput.CarryStartLocationCode = points.FirstOrDefault().location_code;
|
||||
preTaskUpInput.LocationIds = points.Select(x => x.location_id).ToList();
|
||||
preTaskUpInput.PreTaskRecords = preTasks.Adapt<List<WmsHandleH>>();
|
||||
preTaskUpInput.PreTaskRecords.ForEach(x => x.id = SnowflakeIdHelper.NextId());
|
||||
await _wareHouseService.GenTaskHandleAfter(preTaskUpInput);*/
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -112,7 +112,7 @@ namespace Tnb.WarehouseMgr
|
||||
preTask.create_time = DateTime.Now;
|
||||
return preTask;
|
||||
}).ToList();
|
||||
var isOk = await _wareHouseService.GenPreTask(preTasks);
|
||||
var isOk = await _wareHouseService.GenPreTask(preTasks,null);
|
||||
if (isOk)
|
||||
{
|
||||
//不需要插入操作表
|
||||
|
||||
Reference in New Issue
Block a user