using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Linq.Expressions;
|
using System.Text;
|
using System.Threading.Tasks;
|
using AutoMapper;
|
using Model.ModelDto.LogDto;
|
using SqlSugar;
|
using WMS.DAL;
|
using WMS.Entity.Context;
|
using WMS.Entity.LogEntity;
|
using WMS.Entity.SysEntity;
|
using WMS.IBLL.ILogServer;
|
using WMS.IDAL.ILogInterface;
|
|
namespace WMS.BLL.LogServer
|
{
|
public class OperationSysServer : DbHelper<LogOperationSys>, IOperationSysServer
|
{
|
private readonly IOperationSysRepository _operation;
|
private readonly IMapper _mapper;
|
private static readonly SqlSugarScope Db = DataContext.Db;
|
/// <summary>
|
/// 构造函数
|
/// </summary>
|
/// <param name="operation">日志</param>
|
/// <param name="mapper">automapper</param>
|
public OperationSysServer(IOperationSysRepository operation, IMapper mapper) : base(Db)
|
{
|
_operation = operation; //日志
|
_mapper = mapper; //automapper
|
}
|
|
|
///// <summary>
|
///// 查询操作日志
|
///// </summary>
|
///// <param name="menuName">菜单名称</param>
|
///// <param name="type">类型</param>
|
///// <param name="msg">内容</param>
|
///// <param name="startTime">开始日期</param>
|
///// <param name="endTime">结束日期</param>
|
///// <param name="page"></param>
|
///// <param name="limit"></param>
|
///// <param name="count"></param>
|
///// <returns></returns>
|
//public List<OperationDto> GetOperationSysList(string menuName, string type, string msg, string startTime, string endTime, int page, int limit, out int count)
|
//{
|
// try
|
// {
|
// Expression<Func<LogOperationSys, bool>> item = Expressionable.Create<LogOperationSys>()
|
// .AndIF(!string.IsNullOrWhiteSpace(menuName), it => it.MenuName.Contains(menuName.Trim()))
|
// .AndIF(!string.IsNullOrWhiteSpace(type), it => it.Type == type)
|
// .AndIF(!string.IsNullOrWhiteSpace(msg), it => it.Msg.Contains(msg.Trim()))
|
// .AndIF(!string.IsNullOrWhiteSpace(startTime), it => it.CreateTime >= Convert.ToDateTime(startTime))
|
// .AndIF(!string.IsNullOrWhiteSpace(endTime), it => it.CreateTime <= Convert.ToDateTime(startTime).AddDays(1))
|
// .ToExpression();//注意 这一句 不能少
|
|
// var data = GetAllWhereAsync(item)
|
// .Includes(x => x.TypeInfo)
|
// .Includes(x => x.CreateUserInfo)
|
// .Includes(x => x.UpdateUserInfo).ToList();
|
// count = data.Count;
|
// return data.Select(m => new OperationDto()
|
// {
|
// Id = m.Id,
|
// ParentNo = m.ParentNo,
|
// MenuNo = m.MenuNo,
|
// MenuName = m.MenuName,
|
// FkNo = m.FkNo,
|
// Type = m.TypeInfo == null ? "" : m.TypeInfo.DictName,
|
// Msg = m.Msg,
|
// CreateTime = m.CreateTime.ToString("yyyy-MM-dd HH:mm:ss"),
|
// CreateUserName = m.CreateUserInfo == null ? "" : m.CreateUserInfo.UserName,
|
// UpdateTime = m.UpdateTime == null ? "" : ((DateTime)m.UpdateTime).ToString("yyyy-MM-dd HH:mm:ss"),
|
// UpdateUserName = m.UpdateUserInfo == null ? "" : m.UpdateUserInfo.UserName
|
// }).ToList();
|
// }
|
// catch (Exception e)
|
// {
|
// throw new Exception(e.Message);
|
// }
|
//}
|
|
/// <summary>
|
/// 添加操作日志
|
/// </summary>
|
/// <param name="parentNo">模块号</param>
|
/// <param name="menuNo">菜单号</param>
|
/// <param name="menuName">菜单名称</param>
|
/// <param name="fkNo">数据编号</param>
|
/// <param name="type">类型 添加 修改 删除 停用 启用</param>
|
/// <param name="msg">操作</param>
|
/// <param name="userId"></param>
|
/// <returns></returns>
|
public async Task<bool> AddOperationSys(string parentNo, string menuNo, string menuName, string fkNo, string type, string msg, int userId)
|
{
|
try
|
{
|
var num = await AddAsync(new LogOperationSys()
|
{
|
ParentNo = parentNo,
|
MenuNo = menuNo,
|
MenuName = menuName,
|
FkNo = fkNo,
|
Type = type,
|
Msg = msg,
|
CreateUser = userId
|
});
|
if (num > 0)
|
{
|
return true;
|
}
|
else
|
{
|
return false;
|
}
|
}
|
catch (Exception e)
|
{
|
throw new Exception(e.Message);
|
}
|
}
|
|
|
/// <summary>
|
/// 获取系统操作日志数据列表
|
/// </summary>
|
/// <param name="menuName">菜单名称</param>
|
/// <param name="type">操作类型</param>
|
/// <param name="msg">操作内容</param>
|
/// <param name="menuNo">菜单号</param>
|
/// <param name="parentNo">模块号</param>
|
/// <returns></returns>
|
public List<OperationDto> GetSysOperationList(string menuName, string type, string msg, string menuNo, string parentNo)
|
{
|
List<OperationDto> operationlist = _operation.GetSysOperationList(menuName, type, msg, menuNo, parentNo);
|
return operationlist;
|
}
|
|
/// <summary>
|
/// 新增系统操作日志
|
/// </summary>
|
/// <param name="parentName">模块号</param>
|
/// <param name="menuName">菜单号</param>
|
/// <param name="fkNo">数据编号</param>
|
/// <param name="type">操作类型</param>
|
/// <param name="msg">操作内容</param>
|
/// <param name="createuser">创建人</param>
|
/// <returns></returns>
|
public async Task<int> InsertOperation(string parentName, string menuName, string fkNo, string type, string msg, int createuser)
|
{
|
//捕获异常
|
try
|
{
|
var parentNo = _operation.GetMenuList(parentName).MenuNo;
|
var menuNo = _operation.GetMenuList(menuName).MenuNo;
|
int i = await _operation.InsertOperation(parentNo, menuNo, parentName + "-" + menuName, fkNo, type, msg, createuser);
|
return i;
|
}
|
catch (Exception ex)
|
{
|
//抛出异常
|
throw new Exception("新增操作日志异常", ex);
|
}
|
}
|
|
/// <summary>
|
/// 获取类型菜单
|
/// </summary>
|
/// <param name="dicName">字典名称</param>
|
/// <returns></returns>
|
public List<SysDictionary> GetDicTypeList(string dicName)
|
{
|
List<SysDictionary> diclist = _operation.GetDicTypeList( dicName);
|
return diclist;
|
}
|
}
|
}
|