出库申请,分拣出时业务回更,调用载具移入不await
This commit is contained in:
@@ -15,8 +15,6 @@ using Mapster;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.CodeAnalysis;
|
||||
using Newtonsoft.Json;
|
||||
using NPOI.SS.Formula.Functions;
|
||||
//using NPOI.SS.Formula.Functions;
|
||||
using SqlSugar;
|
||||
using Tnb.BasicData.Entities;
|
||||
using Tnb.Common.Extension;
|
||||
@@ -595,7 +593,7 @@ namespace Tnb.WarehouseMgr
|
||||
|
||||
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 };
|
||||
var upInput = new { disTaskIds = disTask.id };
|
||||
TaskExecuteAfterUpInput teaUpInput = new()
|
||||
@@ -691,7 +689,7 @@ namespace Tnb.WarehouseMgr
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Log.Error("任务执行失败", ex);
|
||||
Logger.Error("任务执行失败", ex);
|
||||
await _db.Ado.RollbackTranAsync();
|
||||
throw;
|
||||
}
|
||||
@@ -727,7 +725,7 @@ namespace Tnb.WarehouseMgr
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Log.Error("设备取返回操作失败", ex);
|
||||
Logger.Error("设备取返回操作失败", ex);
|
||||
await _db.Ado.RollbackTranAsync();
|
||||
}
|
||||
}
|
||||
@@ -836,7 +834,7 @@ namespace Tnb.WarehouseMgr
|
||||
catch (Exception ex)
|
||||
{
|
||||
Logger.Error($"任务结束失败", ex);
|
||||
Log.Error($"任务结束失败堆栈异常", ex.StackTrace);
|
||||
Logger.Error($"任务结束失败堆栈异常", ex);
|
||||
await _db.Ado.RollbackTranAsync();
|
||||
throw;
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using System.Linq.Expressions;
|
||||
using System.Diagnostics;
|
||||
using System.Linq.Expressions;
|
||||
using System.Runtime.InteropServices;
|
||||
using JNPF.Common.Core.Manager;
|
||||
using JNPF.Common.Dtos.VisualDev;
|
||||
@@ -33,7 +34,7 @@ namespace Tnb.WarehouseMgr
|
||||
/// </summary>
|
||||
[OverideVisualDev(ModuleConsts.MODULE_WMSOUTSTOCK_ID)]
|
||||
[ServiceModule(BizTypeId)]
|
||||
public class WmsOutStockService : BaseWareHouseService, IWmsOutStockService
|
||||
public class WmsOutStockService : BaseWareHouseService<WmsOutStockService>, IWmsOutStockService
|
||||
{
|
||||
private const string BizTypeId = "26191522660645";
|
||||
private readonly ISqlSugarClient _db;
|
||||
@@ -70,6 +71,7 @@ namespace Tnb.WarehouseMgr
|
||||
_wareCarryService = wareCarryService;
|
||||
|
||||
OverideFuncs.CreateAsync = OutStockApplyFor;
|
||||
_ = InitializationTask;
|
||||
}
|
||||
|
||||
public async Task<dynamic> OutStockApplyFor(VisualDevModelDataCrInput input)
|
||||
@@ -133,16 +135,16 @@ namespace Tnb.WarehouseMgr
|
||||
|
||||
List<string> carryIds = new();
|
||||
var mapKeys = new List<string> { "tablefield120", "details" };
|
||||
|
||||
|
||||
//tablefield120 出库物料明细
|
||||
if (input.data.Keys.Any(k => mapKeys.Contains(k))) //input.data.ContainsKey("tablefield120") && input.data["tablefield120"].IsNotEmptyOrNull()
|
||||
{
|
||||
|
||||
|
||||
if (input.data.ContainsKey("tablefield120") && input.data["tablefield120"].IsNotEmptyOrNull())
|
||||
{
|
||||
outStockDList = input.data["tablefield120"].ToObject<List<WmsOutstockD>>();
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
outStockDList = input.data["details"].ToObject<List<WmsOutstockD>>();
|
||||
}
|
||||
@@ -269,7 +271,7 @@ namespace Tnb.WarehouseMgr
|
||||
int ele = 2;
|
||||
foreach (WmsCarryH carry in carrys)
|
||||
{
|
||||
|
||||
|
||||
bool isMatch = await IsCarryAndLocationMatchByCarryStd(carry, loc);
|
||||
if (!isMatch)
|
||||
{
|
||||
@@ -289,7 +291,7 @@ namespace Tnb.WarehouseMgr
|
||||
|
||||
if (sPoint != null && ePoint != null)
|
||||
{
|
||||
List<WmsPointH> points = await _wareHouseService.PathAlgorithmsEle(sPoint.id, ePoint.id, ele);
|
||||
List<WmsPointH> points = await _wareHouseService.PathAlgorithmsEle(sPoint.id, ePoint.id, ele);
|
||||
locIds.AddRange(points.Select(x => x.location_id).ToList()!);
|
||||
//根据获取的路径点生成预任务,生成顺序必须预路径算法返回的起终点的顺序一致(预任务顺序)
|
||||
if (points?.Count > 0)
|
||||
@@ -817,6 +819,7 @@ namespace Tnb.WarehouseMgr
|
||||
|
||||
try
|
||||
{
|
||||
Stopwatch sw = Stopwatch.StartNew();
|
||||
|
||||
await _db.Ado.BeginTranAsync();
|
||||
|
||||
@@ -829,6 +832,7 @@ namespace Tnb.WarehouseMgr
|
||||
EnumOutStatus outStatus = carry.out_status.ToEnum<EnumOutStatus>();
|
||||
if (outStatus == EnumOutStatus.全部出)
|
||||
{
|
||||
Stopwatch swAllOut = Stopwatch.StartNew();
|
||||
//当前载具对应的所有条码插入
|
||||
List<WmsCarryCode> carryCodes = await _db.Queryable<WmsCarryCode>().Where(it => it.carry_id == carryId).ToListAsync();
|
||||
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 _wareCarryService.UpdateNullCarry(carry).Unwrap();
|
||||
_ = _wareCarryService.UpdateNullCarry(carry).Unwrap();
|
||||
swAllOut.Stop();
|
||||
Logger.Information($"全部出耗时:{swAllOut.ElapsedMilliseconds}ms");
|
||||
}
|
||||
else if (outStatus == EnumOutStatus.分拣出)
|
||||
{
|
||||
Stopwatch swFJOut = Stopwatch.StartNew();
|
||||
|
||||
if (input.distaskCodes?.Count > 0)
|
||||
{
|
||||
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();
|
||||
_ = 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);
|
||||
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)
|
||||
|
||||
Reference in New Issue
Block a user