From bee9c7c98a37b44c43d34c8ca1aced27f1e797b7 Mon Sep 17 00:00:00 2001 From: qianjiawei <1184704771@qq.com> Date: Thu, 7 Sep 2023 09:57:14 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E6=A8=A1=E5=85=B7=E4=BF=9D=E5=85=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Tnb.TaskScheduler.Interfaces/ITimeTaskService.cs | 6 +++++- taskschedule/Tnb.TaskScheduler/Listener/MoldMaintainTask.cs | 5 ++++- taskschedule/Tnb.TaskScheduler/Listener/QcTaskTimeWorker.cs | 6 ++++-- taskschedule/Tnb.TaskScheduler/TimeTaskService.cs | 6 ++++++ visualdev/Tnb.Vengine/AppService/VmodelAppService.cs | 1 - 5 files changed, 19 insertions(+), 5 deletions(-) diff --git a/taskschedule/Tnb.TaskScheduler.Interfaces/ITimeTaskService.cs b/taskschedule/Tnb.TaskScheduler.Interfaces/ITimeTaskService.cs index 765ae574..88626728 100644 --- a/taskschedule/Tnb.TaskScheduler.Interfaces/ITimeTaskService.cs +++ b/taskschedule/Tnb.TaskScheduler.Interfaces/ITimeTaskService.cs @@ -1,4 +1,6 @@ -namespace JNPF.TaskScheduler.Interfaces.TaskScheduler; +using JNPF.TaskScheduler.Entitys; + +namespace JNPF.TaskScheduler.Interfaces.TaskScheduler; ///     /// 定时任务 @@ -13,4 +15,6 @@ public interface ITimeTaskService /// 启动自启动任务. /// void StartTimerJob(); + + List GetTasks(); } diff --git a/taskschedule/Tnb.TaskScheduler/Listener/MoldMaintainTask.cs b/taskschedule/Tnb.TaskScheduler/Listener/MoldMaintainTask.cs index ea0da118..64648af6 100644 --- a/taskschedule/Tnb.TaskScheduler/Listener/MoldMaintainTask.cs +++ b/taskschedule/Tnb.TaskScheduler/Listener/MoldMaintainTask.cs @@ -8,6 +8,7 @@ using JNPF.Common.Security; using JNPF.Systems.Entitys.System; using JNPF.TaskScheduler; using JNPF.TaskScheduler.Entitys.Model; +using JNPF.TaskScheduler.Interfaces.TaskScheduler; using SqlSugar; using Tnb.EquipMgr.Entities; using Tnb.ProductionMgr.Entities; @@ -19,12 +20,14 @@ namespace Tnb.TaskScheduler.Listener public class MoldMaintainTask : ISpareTimeWorker { private ISqlSugarRepository repository => App.GetService>(); + private ITimeTaskService timeTaskService => App.GetService(); [SpareTime("0 0 0 * * ?", "生成模具保养任务", ExecuteType = SpareTimeExecuteTypes.Serial, StartNow = false)] public async void CreateTask(SpareTimer timer, long count) { try { - var timeTaskEntity = await repository.AsSugarClient().Queryable().Where(p => p.Id == timer.WorkerName && p.EnabledMark == 1).FirstAsync(); + var TimeTasks = timeTaskService.GetTasks(); + var timeTaskEntity = TimeTasks.Where(p => p.Id == timer.WorkerName && p.EnabledMark == 1).First(); if (timeTaskEntity == null) return; ContentModel? comtentModel = timeTaskEntity.ExecuteContent.ToObject(); diff --git a/taskschedule/Tnb.TaskScheduler/Listener/QcTaskTimeWorker.cs b/taskschedule/Tnb.TaskScheduler/Listener/QcTaskTimeWorker.cs index 00b15904..84aab7fe 100644 --- a/taskschedule/Tnb.TaskScheduler/Listener/QcTaskTimeWorker.cs +++ b/taskschedule/Tnb.TaskScheduler/Listener/QcTaskTimeWorker.cs @@ -9,6 +9,7 @@ using JNPF.Systems.Entitys.System; using JNPF.TaskScheduler; using JNPF.TaskScheduler.Entitys; using JNPF.TaskScheduler.Entitys.Model; +using JNPF.TaskScheduler.Interfaces.TaskScheduler; using SqlSugar; using Tnb.BasicData.Entities; using Tnb.EquipMgr.Entities; @@ -25,13 +26,14 @@ namespace Tnb.TaskScheduler.Listener public class QcTaskTimeWorker : ISpareTimeWorker { private ISqlSugarRepository repository => App.GetService>(); - + private ITimeTaskService timeTaskService => App.GetService(); [SpareTime("0 0 0 * * ?", "生成质检任务", ExecuteType = SpareTimeExecuteTypes.Serial, StartNow = false)] public async void CreateTask(SpareTimer timer, long count) { try { - var timeTaskEntity = await repository.AsSugarClient().Queryable().Where(p => p.Id == timer.WorkerName && p.EnabledMark == 1).FirstAsync(); + var TimeTasks = timeTaskService.GetTasks(); + var timeTaskEntity = TimeTasks.Where(p => p.Id == timer.WorkerName && p.EnabledMark == 1).First(); if (timeTaskEntity == null) return; ContentModel? comtentModel = timeTaskEntity.ExecuteContent.ToObject(); diff --git a/taskschedule/Tnb.TaskScheduler/TimeTaskService.cs b/taskschedule/Tnb.TaskScheduler/TimeTaskService.cs index 9b62e4c1..3390256d 100644 --- a/taskschedule/Tnb.TaskScheduler/TimeTaskService.cs +++ b/taskschedule/Tnb.TaskScheduler/TimeTaskService.cs @@ -136,6 +136,12 @@ public class TimeTaskService : ITimeTaskService, IDynamicApiController, ITransie #endregion #region Post + public List GetTasks() + { + var list= _repository.AsQueryable().ToList(); + return list; + } + /// /// 新建. diff --git a/visualdev/Tnb.Vengine/AppService/VmodelAppService.cs b/visualdev/Tnb.Vengine/AppService/VmodelAppService.cs index 2f1f71d9..de030730 100644 --- a/visualdev/Tnb.Vengine/AppService/VmodelAppService.cs +++ b/visualdev/Tnb.Vengine/AppService/VmodelAppService.cs @@ -4,7 +4,6 @@ ///////////////////////////////////////////////////////////////////////////////// using JNPF.Common.Configuration; -using JNPF.Systems.Entitys.Dto.Database; using JNPF; using Mapster; using Microsoft.AspNetCore.Mvc; From c3749bb2acfd1513f13718cc408e2c3492ae2be8 Mon Sep 17 00:00:00 2001 From: alex Date: Thu, 7 Sep 2023 10:11:38 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E8=BD=BD=E5=85=B7=E7=A7=BB=E5=85=A5?= =?UTF-8?q?=EF=BC=8C=E5=BD=93=E5=89=8D=E7=94=A8=E6=88=B7=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E4=B8=8D=E5=88=B0bug=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Tnb.WarehouseMgr/BaseWareHouseService.cs | 3 ++- .../WmsCarryMoveInStockService.cs | 15 +++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/WarehouseMgr/Tnb.WarehouseMgr/BaseWareHouseService.cs b/WarehouseMgr/Tnb.WarehouseMgr/BaseWareHouseService.cs index 3532785c..2a5612d2 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/BaseWareHouseService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/BaseWareHouseService.cs @@ -70,8 +70,9 @@ namespace Tnb.WarehouseMgr } } - protected Task GetUserIdentity() + protected Task GetUserIdentity(string? token = null) { + var at = token ?? UserManager.AsscessToken; var claims = JWTEncryption.ReadJwtToken(UserManager.AsscessToken)?.Claims; ClaimsIdentity toKen = new ClaimsIdentity(); foreach (Claim item in claims) diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryMoveInStockService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryMoveInStockService.cs index 3fca4882..a6ecec2e 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryMoveInStockService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryMoveInStockService.cs @@ -1,15 +1,18 @@ using System; using System.Collections.Generic; using System.Linq; +using System.Reflection; using System.Text; using System.Threading.Channels; using System.Threading.Tasks; +using JNPF.Common.Const; using JNPF.Common.Core.Manager; using JNPF.Common.Dtos.VisualDev; using JNPF.Common.Enums; using JNPF.Common.Extension; using JNPF.Common.Security; using JNPF.FriendlyException; +using JNPF.Systems.Entitys.Permission; using JNPF.Systems.Interfaces.System; using JNPF.VisualDev; using JNPF.VisualDev.Entitys; @@ -90,6 +93,18 @@ namespace Tnb.WarehouseMgr ePoint = await _db.Queryable().FirstAsync(it => it.location_id == endLocations[0].id); } + if (_userManager.User == null) + { + var ui = await GetUserIdentity(_userManager.ToKen); + var curUserPI = _userManager.GetType().GetProperty(nameof(_userManager.User), BindingFlags.Instance | BindingFlags.NonPublic); + if (curUserPI != null) + { + var curUid = ui.FindFirst(ClaimConst.CLAINMUSERID)?.Value; + var curUser = await _db.Queryable().SingleAsync(it => it.Id == curUid); + curUserPI.SetValue(_userManager,curUser, null); + } + } + VisualDevEntity? templateEntity = await _visualDevService.GetInfoById(ModuleConsts.MODULE_CARRYMOVEINSTOCK_ID, true); await _runService.Create(templateEntity, input); From efddf28b37de13b834d8b99c19d689b0e9fff1fc Mon Sep 17 00:00:00 2001 From: taomin0419 <865692298@qq.com> Date: Thu, 7 Sep 2023 10:13:04 +0800 Subject: [PATCH 3/4] 1 --- WarehouseMgr/Tnb.WarehouseMgr/WmsOutStockService.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsOutStockService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsOutStockService.cs index c45821f5..2351170b 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WmsOutStockService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsOutStockService.cs @@ -804,7 +804,7 @@ namespace Tnb.WarehouseMgr [nameof(WmsCarryD.carry_id)] = input.carryIds.First(), [nameof(WmsCarryH.carry_code)] = carry.carry_code, [nameof(WmsHandleH.biz_type)] = input.bizTypeId, - [nameof(WmsHandleH.create_id)] = _userManager.UserId, + [nameof(WmsHandleH.create_id)] = _userManager.UserId ?? curUser.FindFirst(ClaimConst.CLAINMUSERID)?.Value ?? string.Empty, [nameof(WmsHandleH.create_time)] = DateTime.Now, [nameof(WmsMoveInstock.status)] = WmsWareHouseConst.BILLSTATUS_ADD_ID, [nameof(WmsHandleH.bill_code)] = _billRullService.GetBillNumber(WmsWareHouseConst.WMS_CARRYMOINSTK_ENCODE).GetAwaiter().GetResult(), From 94a598d5d64e29028b3c8f5379bbea2b0715a391 Mon Sep 17 00:00:00 2001 From: taomin0419 <865692298@qq.com> Date: Thu, 7 Sep 2023 11:02:17 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E5=87=BA=E5=BA=93=E7=AD=BE=E6=94=B6bug?= =?UTF-8?q?=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Tnb.WarehouseMgr/BaseWareHouseService.cs | 8 +++++--- .../WmsCarryMoveInStockService.cs | 17 ++++++----------- .../Manager/User/IUserManager.cs | 2 +- .../Tnb.Common.Core/Manager/User/UserManager.cs | 10 +++++++++- 4 files changed, 21 insertions(+), 16 deletions(-) diff --git a/WarehouseMgr/Tnb.WarehouseMgr/BaseWareHouseService.cs b/WarehouseMgr/Tnb.WarehouseMgr/BaseWareHouseService.cs index 2a5612d2..a1f5809b 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/BaseWareHouseService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/BaseWareHouseService.cs @@ -9,6 +9,7 @@ using System.Text; using System.Threading.Channels; using System.Threading.Tasks; using Aspose.Cells.Drawing; +using JavaScriptEngineSwitcher.Core.Extensions; using JNPF; using JNPF.Common.Contracts; using JNPF.Common.Core.Manager; @@ -70,10 +71,11 @@ namespace Tnb.WarehouseMgr } } - protected Task GetUserIdentity(string? token = null) + protected Task GetUserIdentity(string? sToken = null) { - var at = token ?? UserManager.AsscessToken; - var claims = JWTEncryption.ReadJwtToken(UserManager.AsscessToken)?.Claims; + var at = sToken ?? UserManager.AsscessToken; + at = at.StartsWith("Bearer ", StringComparison.OrdinalIgnoreCase) ? at.TrimStart("Bearer ") : at; + var claims = JWTEncryption.ReadJwtToken(at)?.Claims; ClaimsIdentity toKen = new ClaimsIdentity(); foreach (Claim item in claims) { diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryMoveInStockService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryMoveInStockService.cs index a6ecec2e..b9906be2 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryMoveInStockService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryMoveInStockService.cs @@ -92,17 +92,12 @@ namespace Tnb.WarehouseMgr if (!isMatch) throw new AppFriendlyException("库位与载具规格不匹配", 500); ePoint = await _db.Queryable().FirstAsync(it => it.location_id == endLocations[0].id); } - + var ui = await GetUserIdentity(_userManager.ToKen); if (_userManager.User == null) { - var ui = await GetUserIdentity(_userManager.ToKen); - var curUserPI = _userManager.GetType().GetProperty(nameof(_userManager.User), BindingFlags.Instance | BindingFlags.NonPublic); - if (curUserPI != null) - { - var curUid = ui.FindFirst(ClaimConst.CLAINMUSERID)?.Value; - var curUser = await _db.Queryable().SingleAsync(it => it.Id == curUid); - curUserPI.SetValue(_userManager,curUser, null); - } + + var curUid = ui.FindFirst(ClaimConst.CLAINMUSERID)?.Value; + _userManager.User = await _db.Queryable().SingleAsync(it => it.Id == curUid); } @@ -144,7 +139,7 @@ namespace Tnb.WarehouseMgr preTask.area_code = it.Key; preTask.require_id = input.data["ReturnIdentity"].ToString(); preTask.require_code = input.data[nameof(preTask.bill_code)]?.ToString()!; - preTask.create_id = _userManager.UserId; + preTask.create_id = _userManager.UserId ?? ui.FindFirst(ClaimConst.CLAINMUSERID)?.Value; preTask.create_time = DateTime.Now; return preTask; }).ToList(); @@ -168,7 +163,7 @@ namespace Tnb.WarehouseMgr handleH.carry_code = input.data[nameof(WmsHandleH.carry_code)]?.ToString()!; handleH.require_id = input.data["ReturnIdentity"].ToString(); handleH.require_code = input.data[nameof(WmsHandleH.bill_code)]?.ToString()!; - handleH.create_id = _userManager.UserId; + handleH.create_id = _userManager.UserId ?? ui.FindFirst(ClaimConst.CLAINMUSERID)?.Value; handleH.create_time = DateTime.Now; preTaskUpInput.PreTaskRecord = handleH; //根据载具移入Id,回更单据状态 diff --git a/common/Tnb.Common.Core/Manager/User/IUserManager.cs b/common/Tnb.Common.Core/Manager/User/IUserManager.cs index c1804ac7..fca33168 100644 --- a/common/Tnb.Common.Core/Manager/User/IUserManager.cs +++ b/common/Tnb.Common.Core/Manager/User/IUserManager.cs @@ -82,7 +82,7 @@ public interface IUserManager /// /// 用户信息. /// - UserEntity User { get; } + UserEntity User { get; set; } /// /// 获取用户登录信息. diff --git a/common/Tnb.Common.Core/Manager/User/UserManager.cs b/common/Tnb.Common.Core/Manager/User/UserManager.cs index bc1e0a60..226c147a 100644 --- a/common/Tnb.Common.Core/Manager/User/UserManager.cs +++ b/common/Tnb.Common.Core/Manager/User/UserManager.cs @@ -70,12 +70,20 @@ public partial class UserManager : IUserManager, IScoped } } + + private UserEntity _curUser; /// /// 用户信息. /// public UserEntity User { - get => _repository.GetSingle(u => u.Id == UserId); + get + { + if(_curUser == null) + _curUser= _repository.GetSingle(u => u.Id == UserId); + return _curUser; + } + set => _curUser = value; } ///