Merge remote-tracking branch 'origin/dev' into dev

This commit is contained in:
2023-09-07 11:43:59 +08:00
10 changed files with 47 additions and 12 deletions

View File

@@ -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,9 +71,11 @@ namespace Tnb.WarehouseMgr
}
}
protected Task<ClaimsPrincipal> GetUserIdentity()
protected Task<ClaimsPrincipal> GetUserIdentity(string? sToken = null)
{
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)
{

View File

@@ -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;
@@ -89,6 +92,13 @@ namespace Tnb.WarehouseMgr
if (!isMatch) throw new AppFriendlyException("库位与载具规格不匹配", 500);
ePoint = await _db.Queryable<WmsPointH>().FirstAsync(it => it.location_id == endLocations[0].id);
}
var ui = await GetUserIdentity(_userManager.ToKen);
if (_userManager.User == null)
{
var curUid = ui.FindFirst(ClaimConst.CLAINMUSERID)?.Value;
_userManager.User = await _db.Queryable<UserEntity>().SingleAsync(it => it.Id == curUid);
}
VisualDevEntity? templateEntity = await _visualDevService.GetInfoById(ModuleConsts.MODULE_CARRYMOVEINSTOCK_ID, true);
@@ -129,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();
@@ -153,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回更单据状态

View File

@@ -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(),

View File

@@ -82,7 +82,7 @@ public interface IUserManager
/// <summary>
/// 用户信息.
/// </summary>
UserEntity User { get; }
UserEntity User { get; set; }
/// <summary>
/// 获取用户登录信息.

View File

@@ -70,12 +70,20 @@ public partial class UserManager : IUserManager, IScoped
}
}
private UserEntity _curUser;
/// <summary>
/// 用户信息.
/// </summary>
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;
}
/// <summary>

View File

@@ -1,4 +1,6 @@
namespace JNPF.TaskScheduler.Interfaces.TaskScheduler;
using JNPF.TaskScheduler.Entitys;
namespace JNPF.TaskScheduler.Interfaces.TaskScheduler;
/// <summary>
    /// 定时任务
@@ -13,4 +15,6 @@ public interface ITimeTaskService
/// 启动自启动任务.
/// </summary>
void StartTimerJob();
List<TimeTaskEntity> GetTasks();
}

View File

@@ -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<ToolMoldMaintainRule> repository => App.GetService<ISqlSugarRepository<ToolMoldMaintainRule>>();
private ITimeTaskService timeTaskService => App.GetService<ITimeTaskService>();
[SpareTime("0 0 0 * * ?", "生成模具保养任务", ExecuteType = SpareTimeExecuteTypes.Serial, StartNow = false)]
public async void CreateTask(SpareTimer timer, long count)
{
try
{
var timeTaskEntity = await repository.AsSugarClient().Queryable<TimeTaskEntity>().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<ContentModel>();

View File

@@ -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<QcCheckPlanH> repository => App.GetService<ISqlSugarRepository<QcCheckPlanH>>();
private ITimeTaskService timeTaskService => App.GetService<ITimeTaskService>();
[SpareTime("0 0 0 * * ?", "生成质检任务", ExecuteType = SpareTimeExecuteTypes.Serial, StartNow = false)]
public async void CreateTask(SpareTimer timer, long count)
{
try
{
var timeTaskEntity = await repository.AsSugarClient().Queryable<TimeTaskEntity>().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<ContentModel>();

View File

@@ -136,6 +136,12 @@ public class TimeTaskService : ITimeTaskService, IDynamicApiController, ITransie
#endregion
#region Post
public List<TimeTaskEntity> GetTasks()
{
var list= _repository.AsQueryable().ToList();
return list;
}
/// <summary>
/// 新建.

View File

@@ -4,7 +4,6 @@
/////////////////////////////////////////////////////////////////////////////////
using JNPF.Common.Configuration;
using JNPF.Systems.Entitys.Dto.Database;
using JNPF;
using Mapster;
using Microsoft.AspNetCore.Mvc;