wms 通用函数提交
This commit is contained in:
@@ -355,21 +355,49 @@ namespace Tnb.WarehouseMgr
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
public async Task TaskExecuteAfter()
|
||||
public async Task TaskExecuteAfter(TaskExecuteAfterUpInput input)
|
||||
{
|
||||
//更新任务执行表单据状态
|
||||
//清空载具库位数据
|
||||
//清空起始库位,状态改为空闲、锁定状态,未锁定
|
||||
try
|
||||
{
|
||||
await _db.Ado.BeginTranAsync();
|
||||
|
||||
await _db.Updateable<WmsDistaskH>().SetColumns(it => new WmsDistaskH { status = WmsWareHouseConst.TASK_BILL_STATUS_RUNING_ID }).Where(it => input.disTaskIds.Contains(it.id)).ExecuteCommandAsync();
|
||||
//清空载具库位数据
|
||||
var carryIds = await _db.Queryable<WmsDistaskH>().Where(it => input.disTaskIds.Contains(it.id)).Select(it => it.carry_id).ToListAsync();
|
||||
if (carryIds?.Count > 0)
|
||||
{
|
||||
await _db.Updateable<WmsCarryH>().SetColumns(it => new WmsCarryH { location_id = null, location_code = null }).Where(it => carryIds.Contains(it.id)).ExecuteCommandAsync();
|
||||
}
|
||||
var startLocationIds = await _db.Queryable<WmsDistaskH>().Where(it => input.disTaskIds.Contains(it.id)).Select(it => it.startlocation_id).ToListAsync();
|
||||
//更新起始库位,状态改为空闲、锁定状态,未锁定
|
||||
if (startLocationIds?.Count > 0)
|
||||
{
|
||||
await _db.Updateable<BasLocation>().SetColumns(it => new BasLocation { is_use = "0", is_lock = 0 }).Where(it => startLocationIds.Contains(it.id)).ExecuteCommandAsync();
|
||||
}
|
||||
|
||||
await _db.Ado.CommitTranAsync();
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
await _db.Ado.RollbackTranAsync();
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 任务完成
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
public async Task TaskComplate()
|
||||
public async Task TaskComplate(TaskCompleUpInput input)
|
||||
{
|
||||
//更新任务执行表,单据状态为 完成
|
||||
await _db.Updateable<WmsDistaskH>().SetColumns(it => new WmsDistaskH { status = WmsWareHouseConst.TASK_BILL_STATUS_COMPLE_ID }).Where(it => input.disTaskIds.Contains(it.id)).ExecuteCommandAsync();
|
||||
//更新预任务申请表,单据状态为 已完成
|
||||
var preTaskIds = await _db.Queryable<WmsDistaskH>().Where(it => input.disTaskIds.Contains(it.id)).Select(it => it.pretask_id).ToListAsync();
|
||||
if(preTaskIds?.Count > 0)
|
||||
{
|
||||
await _db.Updateable<WmsPretaskH>().SetColumns(it => new WmsPretaskH { status = WmsWareHouseConst.PRETASK_BILL_STATUS_COMPLE_ID }).Where(it => preTaskIds.Contains(it.id)).ExecuteCommandAsync();
|
||||
}
|
||||
//更新载具,锁定状态为未锁定,更新载具的库位当前任务的目标库位
|
||||
//更新库位信息,使用状态为 使用,锁定状态为未锁定
|
||||
//更新业务主表的单据状态
|
||||
|
||||
Reference in New Issue
Block a user