Merge remote-tracking branch 'origin/dev' into dev

This commit is contained in:
2023-07-26 09:05:33 +08:00
7 changed files with 19 additions and 24 deletions

View File

@@ -13,6 +13,6 @@ namespace Tnb.WarehouseMgr.Interfaces
/// </summary>
/// <param name="entity"></param>
/// <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 = "");
}
}

View File

@@ -243,7 +243,7 @@ namespace Tnb.WarehouseMgr
}
}
foreach (var (i, v) in dic)
{
{
foreach (var it in v)
{
it.groups = groupCode;

View File

@@ -128,7 +128,7 @@ namespace Tnb.WarehouseMgr
wmsCarryReplaceH.modify_id = null;
wmsCarryReplaceH.modify_time = null;
row = await _db.Insertable(wmsCarryReplaceH).ExecuteCommandAsync();
row = await UpdateNullCarry(oldCarry);
row = await UpdateNullCarry(oldCarry).Unwrap();
isOk = (row > 0);
if (!isOk) throw Oops.Oh(ErrorCode.COM1001);
}
@@ -156,9 +156,10 @@ namespace Tnb.WarehouseMgr
}
[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
{
carryObj.status = 0;
@@ -173,16 +174,8 @@ namespace Tnb.WarehouseMgr
carryObj.collocation_scheme_code = null;
carryObj.source_id = null;
carryObj.source_code = null;
if (updateTask != null)
{
updateTask(carryObj);
}
else
{
row = await _db.CopyNew().Updateable(carryObj).ExecuteCommandAsync();
}
//Task<int>.Run(() => _db.CopyNew().Updateable(carryObj).ExecuteCommandAsync());
//删除对应明细表
resTask = updateTask?.Invoke(carryObj) ?? _db.CopyNew().Updateable(carryObj).ExecuteCommandAsync();
//*****删除对应明细表
//删除载具明细
await _db.CopyNew().Deleteable<WmsCarryD>().Where(it => it.carry_id == carryObj.id).ExecuteCommandHasChangeAsync();
//删除载具分拣物料明细
@@ -193,10 +186,11 @@ namespace Tnb.WarehouseMgr
catch (Exception ex)
{
row = 0;
resTask = Task.FromResult(row);
Log.Error("更新空载具出错", ex);
throw;
}
return row;
return resTask;
}

View File

@@ -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 carryId = input.carryIds[^input.carryIds.Count];
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;
if (!isOk) throw Oops.Oh(ErrorCode.COM1001);

View File

@@ -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 _wareCarryService.UpdateNullCarry(carry);
await _wareCarryService.UpdateNullCarry(carry).Unwrap();
}
else if (outStatus == EnumOutStatus.)
{

View File

@@ -91,16 +91,17 @@ namespace Tnb.WarehouseMgr
feedBox.modify_id = _userManager.UserId;
feedBox.modify_time = DateTime.Now;
var row = await _db.Updateable(feedBox)
.UpdateColumns(it => new {
.UpdateColumns(it => new
{
it.material_id,
it.material_code,
it.qty,
it.batch,
it.modify_id,
it.modify_id,
it.modify_time
}).ExecuteCommandAsync();
//更新载具
row = await _carryService.UpdateNullCarry(carry);
row = await _carryService.UpdateNullCarry(carry).Unwrap();
isOk = (row > 0);
if (!isOk) throw Oops.Oh(ErrorCode.COM1001);
}

View File

@@ -306,17 +306,17 @@ namespace Tnb.WarehouseMgr
if (carrys?.Count > 0)
{
await _db.Ado.BeginTranAsync();
var tasks = new List<Task<int>>();
var tasks = new List<Task<Task<int>>>();
foreach (var carryIt in carrys)
{
tasks.Add(_carryService.UpdateNullCarry(carryIt, carryIt => Task.Run(() => _db.CopyNew().Updateable(carryIt).ExecuteCommandAsync())));
}
var all = await Task.WhenAll(tasks);
await _db.Ado.CommitTranAsync();
var all = await Task.WhenAll(tasks.Select(t => t.Unwrap()));
if (all.All(x => x > 0))
{
isOk = all?.Length > 0;
}
await _db.Ado.CommitTranAsync();
}
}
if (!isOk) throw Oops.Oh(ErrorCode.COM1001);