This commit is contained in:
alex
2023-08-15 14:58:55 +08:00
7 changed files with 69 additions and 10 deletions

View File

@@ -2,6 +2,7 @@
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Threading.Channels;
using System.Threading.Tasks; using System.Threading.Tasks;
using Aop.Api.Domain; using Aop.Api.Domain;
using JNPF.Common.Core.Manager; using JNPF.Common.Core.Manager;
@@ -26,6 +27,7 @@ using Tnb.WarehouseMgr.Entities;
using Tnb.WarehouseMgr.Entities.Attributes; using Tnb.WarehouseMgr.Entities.Attributes;
using Tnb.WarehouseMgr.Entities.Consts; using Tnb.WarehouseMgr.Entities.Consts;
using Tnb.WarehouseMgr.Entities.Dto; using Tnb.WarehouseMgr.Entities.Dto;
using Tnb.WarehouseMgr.Entities.Dto.Inputs;
using Tnb.WarehouseMgr.Entities.Enums; using Tnb.WarehouseMgr.Entities.Enums;
using Tnb.WarehouseMgr.Interfaces; using Tnb.WarehouseMgr.Interfaces;
@@ -45,7 +47,7 @@ namespace Tnb.WarehouseMgr
private readonly IWareHouseService _wareHouseService; private readonly IWareHouseService _wareHouseService;
private readonly IBillRullService _billRullService; private readonly IBillRullService _billRullService;
private readonly IUserManager _userManager; private readonly IUserManager _userManager;
private readonly ChannelWriter<NotifyMessage> _channelWriter;
public WmsPDAInStockService( public WmsPDAInStockService(
ISqlSugarRepository<WmsCarryH> repository, ISqlSugarRepository<WmsCarryH> repository,
@@ -53,7 +55,8 @@ namespace Tnb.WarehouseMgr
IVisualDevService visualDevService, IVisualDevService visualDevService,
IWareHouseService wareHouseService, IWareHouseService wareHouseService,
IUserManager userManager, IUserManager userManager,
IBillRullService billRullService) IBillRullService billRullService,
ChannelWriter<NotifyMessage> channelWriter)
{ {
_db = repository.AsSugarClient(); _db = repository.AsSugarClient();
_runService = runService; _runService = runService;
@@ -61,6 +64,7 @@ namespace Tnb.WarehouseMgr
_wareHouseService = wareHouseService; _wareHouseService = wareHouseService;
_userManager = userManager; _userManager = userManager;
_billRullService = billRullService; _billRullService = billRullService;
_channelWriter = channelWriter;
OverideFuncs.CreateAsync = ScanCodeInStock; OverideFuncs.CreateAsync = ScanCodeInStock;
} }
@@ -274,6 +278,12 @@ namespace Tnb.WarehouseMgr
await _db.Ado.RollbackTranAsync(); await _db.Ado.RollbackTranAsync();
throw; throw;
} }
finally
{
//向队列写入消息
NotifyMessage message = new() { TaskName = nameof(IWareHouseService.GenTaskExecute) };
await _channelWriter.WriteAsync(message);
}
return Task.FromResult(true); return Task.FromResult(true);
} }

View File

@@ -2,6 +2,7 @@
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Threading.Channels;
using System.Threading.Tasks; using System.Threading.Tasks;
using JNPF.Common.Core.Manager; using JNPF.Common.Core.Manager;
using JNPF.Common.Dtos.VisualDev; using JNPF.Common.Dtos.VisualDev;
@@ -21,6 +22,7 @@ using Tnb.WarehouseMgr.Entities;
using Tnb.WarehouseMgr.Entities.Attributes; using Tnb.WarehouseMgr.Entities.Attributes;
using Tnb.WarehouseMgr.Entities.Consts; using Tnb.WarehouseMgr.Entities.Consts;
using Tnb.WarehouseMgr.Entities.Dto; using Tnb.WarehouseMgr.Entities.Dto;
using Tnb.WarehouseMgr.Entities.Dto.Inputs;
using Tnb.WarehouseMgr.Entities.Enums; using Tnb.WarehouseMgr.Entities.Enums;
using Tnb.WarehouseMgr.Interfaces; using Tnb.WarehouseMgr.Interfaces;
@@ -40,7 +42,7 @@ namespace Tnb.WarehouseMgr
private readonly IWareHouseService _wareHouseService; private readonly IWareHouseService _wareHouseService;
private readonly IBillRullService _billRullService; private readonly IBillRullService _billRullService;
private readonly IUserManager _userManager; private readonly IUserManager _userManager;
private readonly ChannelWriter<NotifyMessage> _channelWriter;
public WmsPDAInbaleService( public WmsPDAInbaleService(
ISqlSugarRepository<WmsCarryH> repository, ISqlSugarRepository<WmsCarryH> repository,
@@ -48,7 +50,8 @@ namespace Tnb.WarehouseMgr
IVisualDevService visualDevService, IVisualDevService visualDevService,
IWareHouseService wareHouseService, IWareHouseService wareHouseService,
IUserManager userManager, IUserManager userManager,
IBillRullService billRullService) IBillRullService billRullService,
ChannelWriter<NotifyMessage> channelWriter)
{ {
_db = repository.AsSugarClient(); _db = repository.AsSugarClient();
_runService = runService; _runService = runService;
@@ -56,6 +59,7 @@ namespace Tnb.WarehouseMgr
_wareHouseService = wareHouseService; _wareHouseService = wareHouseService;
_userManager = userManager; _userManager = userManager;
_billRullService = billRullService; _billRullService = billRullService;
_channelWriter = channelWriter;
OverideFuncs.CreateAsync = Inbale; OverideFuncs.CreateAsync = Inbale;
} }
@@ -167,6 +171,12 @@ namespace Tnb.WarehouseMgr
await _db.Ado.RollbackTranAsync(); await _db.Ado.RollbackTranAsync();
throw; throw;
} }
finally
{
//向队列写入消息
NotifyMessage message = new() { TaskName = nameof(IWareHouseService.GenTaskExecute) };
await _channelWriter.WriteAsync(message);
}
return Task.FromResult(true); return Task.FromResult(true);
} }

View File

@@ -2,6 +2,7 @@
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Threading.Channels;
using System.Threading.Tasks; using System.Threading.Tasks;
using JNPF.Common.Core.Manager; using JNPF.Common.Core.Manager;
using JNPF.Common.Dtos.VisualDev; using JNPF.Common.Dtos.VisualDev;
@@ -21,6 +22,7 @@ using Tnb.WarehouseMgr.Entities;
using Tnb.WarehouseMgr.Entities.Attributes; using Tnb.WarehouseMgr.Entities.Attributes;
using Tnb.WarehouseMgr.Entities.Consts; using Tnb.WarehouseMgr.Entities.Consts;
using Tnb.WarehouseMgr.Entities.Dto; using Tnb.WarehouseMgr.Entities.Dto;
using Tnb.WarehouseMgr.Entities.Dto.Inputs;
using Tnb.WarehouseMgr.Interfaces; using Tnb.WarehouseMgr.Interfaces;
namespace Tnb.WarehouseMgr namespace Tnb.WarehouseMgr
@@ -39,13 +41,15 @@ namespace Tnb.WarehouseMgr
private readonly IWareHouseService _wareHouseService; private readonly IWareHouseService _wareHouseService;
private readonly IBillRullService _billRullService; private readonly IBillRullService _billRullService;
private readonly IUserManager _userManager; private readonly IUserManager _userManager;
private readonly ChannelWriter<NotifyMessage> _channelWriter;
public WmsPDAOutBaleService( public WmsPDAOutBaleService(
ISqlSugarRepository<WmsCarryH> repository, ISqlSugarRepository<WmsCarryH> repository,
IRunService runService, IRunService runService,
IVisualDevService visualDevService, IVisualDevService visualDevService,
IWareHouseService wareHouseService, IWareHouseService wareHouseService,
IUserManager userManager, IUserManager userManager,
IBillRullService billRullService) IBillRullService billRullService,
ChannelWriter<NotifyMessage> channelWriter)
{ {
_db = repository.AsSugarClient(); _db = repository.AsSugarClient();
_runService = runService; _runService = runService;
@@ -53,6 +57,7 @@ namespace Tnb.WarehouseMgr
_wareHouseService = wareHouseService; _wareHouseService = wareHouseService;
_userManager = userManager; _userManager = userManager;
_billRullService = billRullService; _billRullService = billRullService;
_channelWriter = channelWriter;
OverideFuncs.CreateAsync = PDAOutBale; OverideFuncs.CreateAsync = PDAOutBale;
} }
@@ -153,6 +158,12 @@ namespace Tnb.WarehouseMgr
throw; throw;
}
finally
{
//向队列写入消息
NotifyMessage message = new() { TaskName = nameof(IWareHouseService.GenTaskExecute) };
await _channelWriter.WriteAsync(message);
} }
return Task.FromResult(true); return Task.FromResult(true);
} }

View File

@@ -2,6 +2,7 @@
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Threading.Channels;
using System.Threading.Tasks; using System.Threading.Tasks;
using JNPF.Common.Core.Manager; using JNPF.Common.Core.Manager;
using JNPF.Common.Dtos.VisualDev; using JNPF.Common.Dtos.VisualDev;
@@ -22,6 +23,7 @@ using Tnb.WarehouseMgr.Entities;
using Tnb.WarehouseMgr.Entities.Attributes; using Tnb.WarehouseMgr.Entities.Attributes;
using Tnb.WarehouseMgr.Entities.Consts; using Tnb.WarehouseMgr.Entities.Consts;
using Tnb.WarehouseMgr.Entities.Dto; using Tnb.WarehouseMgr.Entities.Dto;
using Tnb.WarehouseMgr.Entities.Dto.Inputs;
using Tnb.WarehouseMgr.Entities.Enums; using Tnb.WarehouseMgr.Entities.Enums;
using Tnb.WarehouseMgr.Interfaces; using Tnb.WarehouseMgr.Interfaces;
namespace Tnb.WarehouseMgr namespace Tnb.WarehouseMgr
@@ -41,13 +43,15 @@ namespace Tnb.WarehouseMgr
private readonly IWareHouseService _wareHouseService; private readonly IWareHouseService _wareHouseService;
private readonly IBillRullService _billRullService; private readonly IBillRullService _billRullService;
private readonly IUserManager _userManager; private readonly IUserManager _userManager;
private readonly ChannelWriter<NotifyMessage> _channelWriter;
public WmsPDATransferService( public WmsPDATransferService(
ISqlSugarRepository<WmsCarryH> repository, ISqlSugarRepository<WmsCarryH> repository,
IRunService runService, IRunService runService,
IVisualDevService visualDevService, IVisualDevService visualDevService,
IWareHouseService wareHouseService, IWareHouseService wareHouseService,
IUserManager userManager, IUserManager userManager,
IBillRullService billRullService) IBillRullService billRullService,
ChannelWriter<NotifyMessage> channelWriter)
{ {
_db = repository.AsSugarClient(); _db = repository.AsSugarClient();
_runService = runService; _runService = runService;
@@ -55,6 +59,7 @@ namespace Tnb.WarehouseMgr
_wareHouseService = wareHouseService; _wareHouseService = wareHouseService;
_userManager = userManager; _userManager = userManager;
_billRullService = billRullService; _billRullService = billRullService;
_channelWriter = channelWriter;
OverideFuncs.CreateAsync = CarryTransfer; OverideFuncs.CreateAsync = CarryTransfer;
} }
@@ -148,6 +153,12 @@ namespace Tnb.WarehouseMgr
await _db.Ado.RollbackTranAsync(); await _db.Ado.RollbackTranAsync();
throw; throw;
} }
finally
{
//向队列写入消息
NotifyMessage message = new() { TaskName = nameof(IWareHouseService.GenTaskExecute) };
await _channelWriter.WriteAsync(message);
}
return Task.FromResult(true); return Task.FromResult(true);
} }

View File

@@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Runtime.CompilerServices; using System.Runtime.CompilerServices;
using System.Text; using System.Text;
using System.Threading.Channels;
using System.Threading.Tasks; using System.Threading.Tasks;
using JNPF.Common.Core.Manager; using JNPF.Common.Core.Manager;
using JNPF.Common.Dtos.VisualDev; using JNPF.Common.Dtos.VisualDev;
@@ -36,13 +37,15 @@ namespace Tnb.WarehouseMgr
private readonly IWareHouseService _warehouseService; private readonly IWareHouseService _warehouseService;
private readonly IBillRullService _billRullService; private readonly IBillRullService _billRullService;
private readonly IWmsKittingInStkService _wmsKittingInStkService; private readonly IWmsKittingInStkService _wmsKittingInStkService;
private readonly ChannelWriter<NotifyMessage> _channelWriter;
public WmsRobotCallbackService( public WmsRobotCallbackService(
IWmsCarryBindService wmsCarryBindService, IWmsCarryBindService wmsCarryBindService,
ISqlSugarRepository<WmsCarrybindH> repository, ISqlSugarRepository<WmsCarrybindH> repository,
IUserManager userManager, IUserManager userManager,
IWareHouseService warehouseService, IWareHouseService warehouseService,
IBillRullService billRullService, IBillRullService billRullService,
IWmsKittingInStkService wmsKittingInStkService) IWmsKittingInStkService wmsKittingInStkService,
ChannelWriter<NotifyMessage> channelWriter)
{ {
_wmsCarryBindService = wmsCarryBindService; _wmsCarryBindService = wmsCarryBindService;
_db = repository.AsSugarClient(); _db = repository.AsSugarClient();
@@ -50,6 +53,7 @@ namespace Tnb.WarehouseMgr
_warehouseService = warehouseService; _warehouseService = warehouseService;
_billRullService = billRullService; _billRullService = billRullService;
_wmsKittingInStkService = wmsKittingInStkService; _wmsKittingInStkService = wmsKittingInStkService;
_channelWriter = channelWriter;
} }
/// <summary> /// <summary>
/// 机器人完成任务后回调接口 /// 机器人完成任务后回调接口
@@ -141,6 +145,8 @@ namespace Tnb.WarehouseMgr
genPreTaskAfterUpInput.CarryIds = preTasks.Select(x => x.carry_id).ToList(); genPreTaskAfterUpInput.CarryIds = preTasks.Select(x => x.carry_id).ToList();
genPreTaskAfterUpInput.LocationIds = new List<string> { carry.location_id! }; genPreTaskAfterUpInput.LocationIds = new List<string> { carry.location_id! };
await _warehouseService.GenInStockTaskHandleAfter(genPreTaskAfterUpInput, it => new WmsCarryH { is_lock = 1 }, it => new BasLocation { is_lock = 1 }); await _warehouseService.GenInStockTaskHandleAfter(genPreTaskAfterUpInput, it => new WmsCarryH { is_lock = 1 }, it => new BasLocation { is_lock = 1 });
NotifyMessage message = new() { TaskName = nameof(IWareHouseService.GenTaskExecute) };
await _channelWriter.WriteAsync(message);
} }
} }
else else

View File

@@ -2,6 +2,7 @@
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Threading.Channels;
using System.Threading.Tasks; using System.Threading.Tasks;
using JNPF.Common.Core.Manager; using JNPF.Common.Core.Manager;
using JNPF.Common.Dtos.VisualDev; using JNPF.Common.Dtos.VisualDev;
@@ -22,6 +23,7 @@ using Tnb.WarehouseMgr.Entities;
using Tnb.WarehouseMgr.Entities.Attributes; using Tnb.WarehouseMgr.Entities.Attributes;
using Tnb.WarehouseMgr.Entities.Consts; using Tnb.WarehouseMgr.Entities.Consts;
using Tnb.WarehouseMgr.Entities.Dto; using Tnb.WarehouseMgr.Entities.Dto;
using Tnb.WarehouseMgr.Entities.Dto.Inputs;
using Tnb.WarehouseMgr.Entities.Enums; using Tnb.WarehouseMgr.Entities.Enums;
using Tnb.WarehouseMgr.Interfaces; using Tnb.WarehouseMgr.Interfaces;
namespace Tnb.WarehouseMgr namespace Tnb.WarehouseMgr
@@ -41,13 +43,15 @@ namespace Tnb.WarehouseMgr
private readonly IWareHouseService _wareHouseService; private readonly IWareHouseService _wareHouseService;
private readonly IBillRullService _billRullService; private readonly IBillRullService _billRullService;
private readonly IUserManager _userManager; private readonly IUserManager _userManager;
private readonly ChannelWriter<NotifyMessage> _channelWriter;
public WmsTransferService( public WmsTransferService(
ISqlSugarRepository<WmsCarryH> repository, ISqlSugarRepository<WmsCarryH> repository,
IRunService runService, IRunService runService,
IVisualDevService visualDevService, IVisualDevService visualDevService,
IWareHouseService wareHouseService, IWareHouseService wareHouseService,
IUserManager userManager, IUserManager userManager,
IBillRullService billRullService) IBillRullService billRullService,
ChannelWriter<NotifyMessage> channelWriter)
{ {
_db = repository.AsSugarClient(); _db = repository.AsSugarClient();
_runService = runService; _runService = runService;
@@ -55,6 +59,7 @@ namespace Tnb.WarehouseMgr
_wareHouseService = wareHouseService; _wareHouseService = wareHouseService;
_userManager = userManager; _userManager = userManager;
_billRullService = billRullService; _billRullService = billRullService;
_channelWriter = channelWriter;
OverideFuncs.CreateAsync = CarryTransfer; OverideFuncs.CreateAsync = CarryTransfer;
} }
@@ -150,6 +155,12 @@ namespace Tnb.WarehouseMgr
await _db.Ado.RollbackTranAsync(); await _db.Ado.RollbackTranAsync();
throw; throw;
} }
finally
{
//向队列写入消息
NotifyMessage message = new() { TaskName = nameof(IWareHouseService.GenTaskExecute) };
await _channelWriter.WriteAsync(message);
}
return Task.FromResult(true); return Task.FromResult(true);
} }

View File

@@ -405,9 +405,9 @@ namespace Tnb.WarehouseMgr
await _db.Insertable(kittingOuts).ExecuteCommandAsync(); await _db.Insertable(kittingOuts).ExecuteCommandAsync();
await _db.Insertable(kittingOutDs).ExecuteCommandAsync(); await _db.Insertable(kittingOutDs).ExecuteCommandAsync();
await _db.Ado.CommitTranAsync(); await _db.Ado.CommitTranAsync();
await KittingOutByAdd();
isSuccessFul = true; isSuccessFul = true;
} }
catch (Exception ex) catch (Exception ex)