From 0ad3ac3f5d7bae08e37df4194092f3698a34cc5d Mon Sep 17 00:00:00 2001 From: alex Date: Mon, 4 Sep 2023 16:32:03 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E9=93=BE=E4=B8=8A=E6=8A=A5?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E6=96=B0=E5=A2=9E=E7=8A=B6=E6=80=81=E8=AE=B0?= =?UTF-8?q?=E5=BD=95=E5=88=B0=E7=B3=BB=E7=BB=9F=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Tnb.WarehouseMgr/DeviceProviderService.cs | 44 +++++++++++++++++-- .../Tnb.WarehouseMgr/WareHouseService.cs | 2 +- 2 files changed, 41 insertions(+), 5 deletions(-) diff --git a/WarehouseMgr/Tnb.WarehouseMgr/DeviceProviderService.cs b/WarehouseMgr/Tnb.WarehouseMgr/DeviceProviderService.cs index f2a5437b..47c8cbaa 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/DeviceProviderService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/DeviceProviderService.cs @@ -3,11 +3,18 @@ using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; +using JNPF; using JNPF.Common.Core.Manager; using JNPF.Common.Enums; using JNPF.Common.Extension; +using JNPF.Common.Manager; +using JNPF.Common.Net; +using JNPF.Common.Security; +using JNPF.EventBus; +using JNPF.EventHandler; using JNPF.FriendlyException; using JNPF.Logging; +using JNPF.Systems.Entitys.System; using JNPF.Systems.Interfaces.System; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; @@ -33,12 +40,22 @@ namespace Tnb.WarehouseMgr { private readonly ISqlSugarClient _db; private readonly IWareHouseService _wareHouseService; - + private readonly ICacheManager _cacheManager; + private readonly IEventPublisher _eventPublisher; + private readonly IUserManager _userManager; - public DeviceProviderService(ISqlSugarRepository repository, IWareHouseService wareHouseService) + + public DeviceProviderService(ISqlSugarRepository repository, IWareHouseService wareHouseService, + ICacheManager cacheManager, + IEventPublisher eventPublisher, + IUserManager userManger + ) { _db = repository.AsSugarClient(); _wareHouseService = wareHouseService; + _cacheManager = cacheManager; + _eventPublisher = eventPublisher; + _userManager = userManger; } /// @@ -101,7 +118,7 @@ namespace Tnb.WarehouseMgr /// 任务链状态上报 /// /// - [HttpPost, NonUnify,AllowAnonymous] + [HttpPost, NonUnify, AllowAnonymous] public async Task TaskChainCallBack(TaskChainCallBackInput input) { try @@ -110,8 +127,9 @@ namespace Tnb.WarehouseMgr switch (input.status) { case "CREATED": break; - case "ALLOCATED":break; + case "ALLOCATED": break; case "PROCESSING": + if (await _cacheManager.GetAsync($"{input.taskChainCode}") == "任务链状态上报,上报状态PROCESSING") break; if (input.taskChainCode.Trim().IsNullOrEmpty()) break; var disTasks = await _db.Queryable().Where(it => it.bill_code.Contains(input.taskChainCode)).ToListAsync(); var eps = await _db.Queryable().Where(it => it.code.Contains(input.deviceID)).ToListAsync(); @@ -127,6 +145,24 @@ namespace Tnb.WarehouseMgr case "FINISHED": break; default: break; } + //写入redis + await _cacheManager.SetAsync($"{input.taskChainCode}", $"任务链状态上报,上报状态{input.status}"); + var opts = App.GetOptions(); + UserAgent userAgent = new(App.HttpContext); + //写系统日志 + await _eventPublisher.PublishAsync(new LogEventSource("Log:CreateOpLog", opts, new SysLogEntity + { + Id = SnowflakeIdHelper.NextId(), + Category = 4, + UserId = _userManager.UserId, + UserName = _userManager.User.RealName, + IPAddress = NetHelper.Ip, + RequestURL = App.HttpContext.Request.Path, + RequestMethod = App.HttpContext.Request.Method, + Json = $"任务链状态上报,任务链编号:{input.taskChainCode},上报状态:{input.status},设备编号:{input.deviceID}", + PlatForm = string.Format("{0}-{1}", userAgent.OS.ToString(), userAgent.RawValue), + CreatorTime = DateTime.Now + })); } catch (Exception) { diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WareHouseService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WareHouseService.cs index d5434dd6..09471778 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WareHouseService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WareHouseService.cs @@ -360,7 +360,7 @@ namespace Tnb.WarehouseMgr { dynamic reqBody = new ExpandoObject(); reqBody.taskChainCode = k; - reqBody.type = (int)EnumTaskChainType.KIVA; + reqBody.type = (int)EnumTaskChainType.AGV; reqBody.sequential = false; reqBody.taskChainPriority = 0; reqBody.taskList = v;