二楼缓存仓和暂存仓出入库优化

This commit is contained in:
2024-08-08 11:48:51 +08:00
parent 18dac9b6b2
commit 433be346b9
7 changed files with 76 additions and 34 deletions

View File

@@ -580,6 +580,8 @@ namespace Tnb.WarehouseMgr
{
try
{
await _s_taskExecuteSemaphore_F2HCCOutstock.WaitAsync();
if (string.IsNullOrEmpty(input.source_id))
{
throw new AppFriendlyException("来源单据id不可为空", 500);
@@ -642,8 +644,6 @@ namespace Tnb.WarehouseMgr
PrdMoTask prdMoTask = organizeEntityCXs.First();
await s_taskExecuteSemaphore.WaitAsync();
await _db.Ado.BeginTranAsync();
//入库取终点 //出库起点
@@ -711,7 +711,7 @@ namespace Tnb.WarehouseMgr
}
finally
{
_ = s_taskExecuteSemaphore.Release();
_s_taskExecuteSemaphore_F2HCCOutstock.Release();
InvokeGenPretaskExcute();
}
@@ -1532,6 +1532,7 @@ namespace Tnb.WarehouseMgr
{
try
{
await _s_taskExecuteSemaphore_F2ZCCOutstock.WaitAsync();
OrganizeEntity organizeEntity = _db.Queryable<OrganizeEntity>().Where(r => r.Id == input.workstation_id).First();
if (organizeEntity == null)
{
@@ -1632,6 +1633,10 @@ namespace Tnb.WarehouseMgr
Logger.LogError("【CallRackToProductionLine】" + ex.StackTrace);
return await ToApiResult(HttpStatusCode.InternalServerError, ex.Message);
}
finally
{
_s_taskExecuteSemaphore_F2ZCCOutstock.Release();
}
return await ToApiResult(HttpStatusCode.OK, "成功");
}
@@ -1738,6 +1743,7 @@ namespace Tnb.WarehouseMgr
{
try
{
await _s_taskExecuteSemaphore_F2ZCCInstock.WaitAsync();
List<WmsCarryD> wmsCarryDs = _db.Queryable<WmsCarryD>().Where(r => r.carry_id == wmsCarryH.id).ToList();
if (wmsCarryDs.Count > 0)
{
@@ -1839,6 +1845,10 @@ namespace Tnb.WarehouseMgr
await _db.Ado.RollbackTranAsync();
return await ToApiResult(HttpStatusCode.InternalServerError, ex.Message);
}
finally
{
_s_taskExecuteSemaphore_F2ZCCInstock.Release();
}
return await ToApiResult(HttpStatusCode.OK, "成功");
}
@@ -1846,6 +1856,7 @@ namespace Tnb.WarehouseMgr
{
try
{
await _s_taskExecuteSemaphore_F2HCCInstock.WaitAsync();
BasLocation startlocation = _db.Queryable<BasLocation>().Where(r => r.id == input.startlocation_id).First();
if (startlocation == null)
{
@@ -1898,6 +1909,10 @@ namespace Tnb.WarehouseMgr
await _db.Ado.RollbackTranAsync();
return await ToApiResult(HttpStatusCode.InternalServerError, ex.Message);
}
finally
{
_s_taskExecuteSemaphore_F2HCCInstock.Release();
}
return await ToApiResult(HttpStatusCode.OK, "成功");
}