出库申请,分拣出时业务回更,调用载具移入不await

This commit is contained in:
yang.lee
2023-11-14 10:28:09 +08:00
parent 8e3f2ec579
commit cd7d12a301
2 changed files with 35 additions and 16 deletions

View File

@@ -15,8 +15,6 @@ using Mapster;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis;
using Newtonsoft.Json; using Newtonsoft.Json;
using NPOI.SS.Formula.Functions;
//using NPOI.SS.Formula.Functions;
using SqlSugar; using SqlSugar;
using Tnb.BasicData.Entities; using Tnb.BasicData.Entities;
using Tnb.Common.Extension; using Tnb.Common.Extension;
@@ -595,7 +593,7 @@ namespace Tnb.WarehouseMgr
if (tuple.sysStatus.ToEnum<EnumSysStatus>() == EnumSysStatus. && tuple.runStatus.ToEnum<EnumRunStatus>() == EnumRunStatus.) if (tuple.sysStatus.ToEnum<EnumSysStatus>() == EnumSysStatus. && tuple.runStatus.ToEnum<EnumRunStatus>() == EnumRunStatus.)
{ {
Log.Information($"disTask.require_id={disTask.require_id}"); Logger.Information($"disTask.require_id={disTask.require_id}");
List<string> disTaskIds = new() { disTask.id }; List<string> disTaskIds = new() { disTask.id };
var upInput = new { disTaskIds = disTask.id }; var upInput = new { disTaskIds = disTask.id };
TaskExecuteAfterUpInput teaUpInput = new() TaskExecuteAfterUpInput teaUpInput = new()
@@ -691,7 +689,7 @@ namespace Tnb.WarehouseMgr
} }
catch (Exception ex) catch (Exception ex)
{ {
Log.Error("任务执行失败", ex); Logger.Error("任务执行失败", ex);
await _db.Ado.RollbackTranAsync(); await _db.Ado.RollbackTranAsync();
throw; throw;
} }
@@ -727,7 +725,7 @@ namespace Tnb.WarehouseMgr
} }
catch (Exception ex) catch (Exception ex)
{ {
Log.Error("设备取返回操作失败", ex); Logger.Error("设备取返回操作失败", ex);
await _db.Ado.RollbackTranAsync(); await _db.Ado.RollbackTranAsync();
} }
} }
@@ -836,7 +834,7 @@ namespace Tnb.WarehouseMgr
catch (Exception ex) catch (Exception ex)
{ {
Logger.Error($"任务结束失败", ex); Logger.Error($"任务结束失败", ex);
Log.Error($"任务结束失败堆栈异常", ex.StackTrace); Logger.Error($"任务结束失败堆栈异常", ex);
await _db.Ado.RollbackTranAsync(); await _db.Ado.RollbackTranAsync();
throw; throw;
} }

View File

@@ -1,4 +1,5 @@
using System.Linq.Expressions; using System.Diagnostics;
using System.Linq.Expressions;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
using JNPF.Common.Core.Manager; using JNPF.Common.Core.Manager;
using JNPF.Common.Dtos.VisualDev; using JNPF.Common.Dtos.VisualDev;
@@ -33,7 +34,7 @@ namespace Tnb.WarehouseMgr
/// </summary> /// </summary>
[OverideVisualDev(ModuleConsts.MODULE_WMSOUTSTOCK_ID)] [OverideVisualDev(ModuleConsts.MODULE_WMSOUTSTOCK_ID)]
[ServiceModule(BizTypeId)] [ServiceModule(BizTypeId)]
public class WmsOutStockService : BaseWareHouseService, IWmsOutStockService public class WmsOutStockService : BaseWareHouseService<WmsOutStockService>, IWmsOutStockService
{ {
private const string BizTypeId = "26191522660645"; private const string BizTypeId = "26191522660645";
private readonly ISqlSugarClient _db; private readonly ISqlSugarClient _db;
@@ -70,6 +71,7 @@ namespace Tnb.WarehouseMgr
_wareCarryService = wareCarryService; _wareCarryService = wareCarryService;
OverideFuncs.CreateAsync = OutStockApplyFor; OverideFuncs.CreateAsync = OutStockApplyFor;
_ = InitializationTask;
} }
public async Task<dynamic> OutStockApplyFor(VisualDevModelDataCrInput input) public async Task<dynamic> OutStockApplyFor(VisualDevModelDataCrInput input)
@@ -817,6 +819,7 @@ namespace Tnb.WarehouseMgr
try try
{ {
Stopwatch sw = Stopwatch.StartNew();
await _db.Ado.BeginTranAsync(); await _db.Ado.BeginTranAsync();
@@ -829,6 +832,7 @@ namespace Tnb.WarehouseMgr
EnumOutStatus outStatus = carry.out_status.ToEnum<EnumOutStatus>(); EnumOutStatus outStatus = carry.out_status.ToEnum<EnumOutStatus>();
if (outStatus == EnumOutStatus.) if (outStatus == EnumOutStatus.)
{ {
Stopwatch swAllOut = Stopwatch.StartNew();
//当前载具对应的所有条码插入 //当前载具对应的所有条码插入
List<WmsCarryCode> carryCodes = await _db.Queryable<WmsCarryCode>().Where(it => it.carry_id == carryId).ToListAsync(); List<WmsCarryCode> carryCodes = await _db.Queryable<WmsCarryCode>().Where(it => it.carry_id == carryId).ToListAsync();
List<WmsOutstockCode> outStockCodes = carryCodes.Adapt<List<WmsOutstockCode>>(); List<WmsOutstockCode> outStockCodes = carryCodes.Adapt<List<WmsOutstockCode>>();
@@ -872,10 +876,14 @@ 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).Unwrap(); _ = _wareCarryService.UpdateNullCarry(carry).Unwrap();
swAllOut.Stop();
Logger.Information($"全部出耗时:{swAllOut.ElapsedMilliseconds}ms");
} }
else if (outStatus == EnumOutStatus.) else if (outStatus == EnumOutStatus.)
{ {
Stopwatch swFJOut = Stopwatch.StartNew();
if (input.distaskCodes?.Count > 0) if (input.distaskCodes?.Count > 0)
{ {
List<WmsOutstockCode> osCodes = input.distaskCodes.Adapt<List<WmsOutstockCode>>(); List<WmsOutstockCode> osCodes = input.distaskCodes.Adapt<List<WmsOutstockCode>>();
@@ -962,6 +970,13 @@ namespace Tnb.WarehouseMgr
} }
int row = await _db.Updateable<WmsCarryH>().SetColumns(it => new WmsCarryH { out_status = ((int)EnumOutStatus.).ToString() }).Where(it => input.carryIds.Contains(it.id)).ExecuteCommandAsync(); int row = await _db.Updateable<WmsCarryH>().SetColumns(it => new WmsCarryH { out_status = ((int)EnumOutStatus.).ToString() }).Where(it => input.carryIds.Contains(it.id)).ExecuteCommandAsync();
_ = await _db.Deleteable<WmsCarryMat>().Where(it => input.carryIds.Contains(it.carry_id)).ExecuteCommandAsync(); _ = await _db.Deleteable<WmsCarryMat>().Where(it => input.carryIds.Contains(it.carry_id)).ExecuteCommandAsync();
swFJOut.Stop();
Logger.Information($"出库申请运行耗时{swFJOut.ElapsedMilliseconds}ms");
sw = Stopwatch.StartNew();
//载具移入 //载具移入
WmsOutstockH outStockH = await _db.Queryable<WmsOutstockH>().SingleAsync(it => it.id == input.requireId); WmsOutstockH outStockH = await _db.Queryable<WmsOutstockH>().SingleAsync(it => it.id == input.requireId);
VisualDevModelDataCrInput visulDevInput = new() VisualDevModelDataCrInput visulDevInput = new()
@@ -980,12 +995,18 @@ namespace Tnb.WarehouseMgr
} }
}; };
await _wmsCarryMoveInStockService.CarryMoveIn(visulDevInput); _ = _wmsCarryMoveInStockService.CarryMoveIn(visulDevInput);
}
}
Logger.Information($"载具移入耗时{sw.ElapsedMilliseconds}ms");
await _db.Ado.CommitTranAsync(); await _db.Ado.CommitTranAsync();
}
}
} }
} }
catch (Exception) catch (Exception)