优化更新空载具接口及函数
This commit is contained in:
@@ -13,6 +13,6 @@ namespace Tnb.WarehouseMgr.Interfaces
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="entity"></param>
|
/// <param name="entity"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<int> UpdateNullCarry(WmsCarryH carryObj, Func<WmsCarryH, Task<int>> updateTask=null, [CallerMemberName] string original = "");
|
Task<Task<int>> UpdateNullCarry(WmsCarryH carryObj, Func<WmsCarryH, Task<int>> updateTask = null, [CallerMemberName] string original = "");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -128,7 +128,7 @@ namespace Tnb.WarehouseMgr
|
|||||||
wmsCarryReplaceH.modify_id = null;
|
wmsCarryReplaceH.modify_id = null;
|
||||||
wmsCarryReplaceH.modify_time = null;
|
wmsCarryReplaceH.modify_time = null;
|
||||||
row = await _db.Insertable(wmsCarryReplaceH).ExecuteCommandAsync();
|
row = await _db.Insertable(wmsCarryReplaceH).ExecuteCommandAsync();
|
||||||
row = await UpdateNullCarry(oldCarry);
|
row = await UpdateNullCarry(oldCarry).Unwrap();
|
||||||
isOk = (row > 0);
|
isOk = (row > 0);
|
||||||
if (!isOk) throw Oops.Oh(ErrorCode.COM1001);
|
if (!isOk) throw Oops.Oh(ErrorCode.COM1001);
|
||||||
}
|
}
|
||||||
@@ -156,9 +156,10 @@ namespace Tnb.WarehouseMgr
|
|||||||
}
|
}
|
||||||
|
|
||||||
[NonAction]
|
[NonAction]
|
||||||
public async Task<int> UpdateNullCarry(WmsCarryH carryObj, Func<WmsCarryH, Task<int>> updateTask = null, [CallerMemberName] string original = "")
|
public async Task<Task<int>> UpdateNullCarry(WmsCarryH carryObj, Func<WmsCarryH, Task<int>> updateTask = null, [CallerMemberName] string original = "")
|
||||||
{
|
{
|
||||||
var row = -1;
|
var row = 1;
|
||||||
|
Task<int> resTask = Task.FromResult(row);
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
carryObj.status = 0;
|
carryObj.status = 0;
|
||||||
@@ -173,16 +174,8 @@ namespace Tnb.WarehouseMgr
|
|||||||
carryObj.collocation_scheme_code = null;
|
carryObj.collocation_scheme_code = null;
|
||||||
carryObj.source_id = null;
|
carryObj.source_id = null;
|
||||||
carryObj.source_code = null;
|
carryObj.source_code = null;
|
||||||
if (updateTask != null)
|
resTask = updateTask?.Invoke(carryObj) ?? _db.CopyNew().Updateable(carryObj).ExecuteCommandAsync();
|
||||||
{
|
//*****删除对应明细表
|
||||||
updateTask(carryObj);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
row = await _db.CopyNew().Updateable(carryObj).ExecuteCommandAsync();
|
|
||||||
}
|
|
||||||
//Task<int>.Run(() => _db.CopyNew().Updateable(carryObj).ExecuteCommandAsync());
|
|
||||||
//删除对应明细表
|
|
||||||
//删除载具明细
|
//删除载具明细
|
||||||
await _db.CopyNew().Deleteable<WmsCarryD>().Where(it => it.carry_id == carryObj.id).ExecuteCommandHasChangeAsync();
|
await _db.CopyNew().Deleteable<WmsCarryD>().Where(it => it.carry_id == carryObj.id).ExecuteCommandHasChangeAsync();
|
||||||
//删除载具分拣物料明细
|
//删除载具分拣物料明细
|
||||||
@@ -193,10 +186,11 @@ namespace Tnb.WarehouseMgr
|
|||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
row = 0;
|
row = 0;
|
||||||
|
resTask = Task.FromResult(row);
|
||||||
Log.Error("更新空载具出错", ex);
|
Log.Error("更新空载具出错", ex);
|
||||||
throw;
|
throw;
|
||||||
}
|
}
|
||||||
return row;
|
return resTask;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -169,7 +169,7 @@ namespace Tnb.WarehouseMgr
|
|||||||
var isOk = await _db.Updateable<WmsOutbale>().SetColumns(it => new WmsOutbale { status = WmsWareHouseConst.BILLSTATUS_COMPLETE_ID }).Where(it => it.id == input.requireId).ExecuteCommandHasChangeAsync();
|
var isOk = await _db.Updateable<WmsOutbale>().SetColumns(it => new WmsOutbale { status = WmsWareHouseConst.BILLSTATUS_COMPLETE_ID }).Where(it => it.id == input.requireId).ExecuteCommandHasChangeAsync();
|
||||||
var carryId = input.carryIds[^input.carryIds.Count];
|
var carryId = input.carryIds[^input.carryIds.Count];
|
||||||
var carry = await _db.Queryable<WmsCarryH>().SingleAsync(it => it.id == carryId);
|
var carry = await _db.Queryable<WmsCarryH>().SingleAsync(it => it.id == carryId);
|
||||||
var row = await _wmsCarryService.UpdateNullCarry(carry);
|
var row = await _wmsCarryService.UpdateNullCarry(carry).Unwrap();
|
||||||
isOk = row > 0;
|
isOk = row > 0;
|
||||||
if (!isOk) throw Oops.Oh(ErrorCode.COM1001);
|
if (!isOk) throw Oops.Oh(ErrorCode.COM1001);
|
||||||
|
|
||||||
|
|||||||
@@ -626,7 +626,7 @@ namespace Tnb.WarehouseMgr
|
|||||||
//如果没有完成,修改为工作中
|
//如果没有完成,修改为工作中
|
||||||
await _db.Updateable<WmsOutstockH>().SetColumns(it => new WmsOutstockH { status = WmsWareHouseConst.BILLSTATUS_ON_ID }).Where(it => it.id == input.requireId).ExecuteCommandAsync();
|
await _db.Updateable<WmsOutstockH>().SetColumns(it => new WmsOutstockH { status = WmsWareHouseConst.BILLSTATUS_ON_ID }).Where(it => it.id == input.requireId).ExecuteCommandAsync();
|
||||||
}
|
}
|
||||||
await _wareCarryService.UpdateNullCarry(carry);
|
await _wareCarryService.UpdateNullCarry(carry).Unwrap();
|
||||||
}
|
}
|
||||||
else if (outStatus == EnumOutStatus.分拣出)
|
else if (outStatus == EnumOutStatus.分拣出)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -91,7 +91,8 @@ namespace Tnb.WarehouseMgr
|
|||||||
feedBox.modify_id = _userManager.UserId;
|
feedBox.modify_id = _userManager.UserId;
|
||||||
feedBox.modify_time = DateTime.Now;
|
feedBox.modify_time = DateTime.Now;
|
||||||
var row = await _db.Updateable(feedBox)
|
var row = await _db.Updateable(feedBox)
|
||||||
.UpdateColumns(it => new {
|
.UpdateColumns(it => new
|
||||||
|
{
|
||||||
it.material_id,
|
it.material_id,
|
||||||
it.material_code,
|
it.material_code,
|
||||||
it.qty,
|
it.qty,
|
||||||
@@ -100,7 +101,7 @@ namespace Tnb.WarehouseMgr
|
|||||||
it.modify_time
|
it.modify_time
|
||||||
}).ExecuteCommandAsync();
|
}).ExecuteCommandAsync();
|
||||||
//更新载具
|
//更新载具
|
||||||
row = await _carryService.UpdateNullCarry(carry);
|
row = await _carryService.UpdateNullCarry(carry).Unwrap();
|
||||||
isOk = (row > 0);
|
isOk = (row > 0);
|
||||||
if (!isOk) throw Oops.Oh(ErrorCode.COM1001);
|
if (!isOk) throw Oops.Oh(ErrorCode.COM1001);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -306,17 +306,17 @@ namespace Tnb.WarehouseMgr
|
|||||||
if (carrys?.Count > 0)
|
if (carrys?.Count > 0)
|
||||||
{
|
{
|
||||||
await _db.Ado.BeginTranAsync();
|
await _db.Ado.BeginTranAsync();
|
||||||
var tasks = new List<Task<int>>();
|
var tasks = new List<Task<Task<int>>>();
|
||||||
foreach (var carryIt in carrys)
|
foreach (var carryIt in carrys)
|
||||||
{
|
{
|
||||||
tasks.Add(_carryService.UpdateNullCarry(carryIt, carryIt => Task.Run(() => _db.CopyNew().Updateable(carryIt).ExecuteCommandAsync())));
|
tasks.Add(_carryService.UpdateNullCarry(carryIt, carryIt => Task.Run(() => _db.CopyNew().Updateable(carryIt).ExecuteCommandAsync())));
|
||||||
}
|
}
|
||||||
var all = await Task.WhenAll(tasks);
|
var all = await Task.WhenAll(tasks.Select(t => t.Unwrap()));
|
||||||
await _db.Ado.CommitTranAsync();
|
|
||||||
if (all.All(x => x > 0))
|
if (all.All(x => x > 0))
|
||||||
{
|
{
|
||||||
isOk = all?.Length > 0;
|
isOk = all?.Length > 0;
|
||||||
}
|
}
|
||||||
|
await _db.Ado.CommitTranAsync();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!isOk) throw Oops.Oh(ErrorCode.COM1001);
|
if (!isOk) throw Oops.Oh(ErrorCode.COM1001);
|
||||||
|
|||||||
Reference in New Issue
Block a user