You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							123 lines
						
					
					
						
							4.9 KiB
						
					
					
				
			
		
		
	
	
							123 lines
						
					
					
						
							4.9 KiB
						
					
					
				using System;
 | 
						|
using System.Collections.Generic;
 | 
						|
using System.Data;
 | 
						|
using System.Xml.Linq;
 | 
						|
using FactorySystemCommon;
 | 
						|
using FactorySystemModel.ResponseModel;
 | 
						|
using FactorySystemModel.SqlSugarModel;
 | 
						|
using SqlSugar;
 | 
						|
 | 
						|
namespace FactorySystemBll
 | 
						|
{
 | 
						|
    public class OperateLogBll
 | 
						|
    {
 | 
						|
        public object GetPageList(Dictionary<string, object> inParam, out int totalCount, string orderBy = "a.FID desc")
 | 
						|
        {
 | 
						|
            totalCount = 0;
 | 
						|
            int pageIndex = 1, pageSize = 10;
 | 
						|
            List<string> paramName = new List<string>() { "FDeleted!=1" };
 | 
						|
            List<SugarParameter> paramVal = new List<SugarParameter>();
 | 
						|
            if (inParam != null && inParam.Count > 0)
 | 
						|
            {
 | 
						|
                foreach (var item in inParam)
 | 
						|
                {
 | 
						|
                    if (item.Key == "FPageIndex" || item.Key == "PageIndex")
 | 
						|
                    {
 | 
						|
                        int.TryParse(item.Value.ToString(), out pageIndex);
 | 
						|
                    }
 | 
						|
                    else if (item.Key == "FPageSize" || item.Key == "PageSize")
 | 
						|
                    {
 | 
						|
                        int.TryParse(item.Value.ToString(), out pageSize);
 | 
						|
                    }
 | 
						|
                    else
 | 
						|
                    {
 | 
						|
                        try
 | 
						|
                        {
 | 
						|
                            //检索,全转成字符串
 | 
						|
                            paramName.Add(item.Key + "=@" + item.Key);
 | 
						|
                            paramVal.Add(new SugarParameter("@" + item.Key, item.Value.ToString()));
 | 
						|
                        }
 | 
						|
                        catch (Exception) { }
 | 
						|
                    }
 | 
						|
                }
 | 
						|
            }
 | 
						|
            SqlSugarClient db = AppSettingsHelper.GetSqlSugar();
 | 
						|
            var temp = db.Queryable<TFS_OperateLog, TUser>((a, b) => new JoinQueryInfos(JoinType.Left, a.FAddUser == b.FID))
 | 
						|
                .Where(string.Join(" and ", paramName), paramVal).OrderBy(orderBy).Select<dynamic>("a.*,b.FName as FOptUser");
 | 
						|
            return temp.ToPageList(pageIndex, pageSize, ref totalCount);
 | 
						|
        }
 | 
						|
 | 
						|
        public List<LogRow> GetLogsByPage(string FName, int FType, int FModule, string dateFrom, string dateTo, int pageNumber, int pageSize, out int totalNumber)
 | 
						|
        {
 | 
						|
            SqlSugarClient db = AppSettingsHelper.GetSqlSugar();
 | 
						|
            totalNumber = 0;
 | 
						|
            List<LogRow> logs = db.Queryable<TFS_OperateLog, TUser>((a, b)=> new JoinQueryInfos(JoinType.Left, a.FAddUser == b.FID))
 | 
						|
                .WhereIF(!string.IsNullOrEmpty(FName), (a, b) => b.FName.Contains(FName))
 | 
						|
                .WhereIF(FType > 0, (a, b) => a.FType == FType)
 | 
						|
                .WhereIF(FModule > 0, (a, b) => a.FModule == FModule)
 | 
						|
                .WhereIF(!string.IsNullOrEmpty(dateFrom), (a, b) => a.FAddDate >= DateTime.Parse(dateFrom))
 | 
						|
                .WhereIF(!string.IsNullOrEmpty(dateTo), (a, b) => a.FAddDate <= DateTime.Parse(dateTo))
 | 
						|
                .Select<LogRow>("a.*,b.FName").OrderBy((a) => a.FID, OrderByType.Desc)
 | 
						|
                .ToPageList(pageNumber, pageSize, ref totalNumber);
 | 
						|
 | 
						|
            return logs;
 | 
						|
        }
 | 
						|
 | 
						|
        /// <summary>
 | 
						|
        /// 保存日志
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="teamId">协同ID</param>
 | 
						|
        /// <param name="type">来源类型</param>
 | 
						|
        /// <param name="desc">描述</param>
 | 
						|
        /// <param name="userId">操作人</param>
 | 
						|
        public static void Add(int module, int teamId, int type, string desc, int userId)
 | 
						|
        {
 | 
						|
            var db = AppSettingsHelper.GetSqlSugar();
 | 
						|
            db.Insertable(new TFS_OperateLog
 | 
						|
            {
 | 
						|
                FModule = module,
 | 
						|
                FTeamID = teamId,
 | 
						|
                FType = type,
 | 
						|
                FDesc = desc,
 | 
						|
                FAddUser = userId,
 | 
						|
                FAddDate = DateTime.Now
 | 
						|
            }).ExecuteCommand();
 | 
						|
        }
 | 
						|
 | 
						|
        public static DataTable GetLogs(int limit)
 | 
						|
        {
 | 
						|
            SqlSugarClient db = AppSettingsHelper.GetSqlSugar();
 | 
						|
            string strSql = @"
 | 
						|
                select TOP(" + limit + @")
 | 
						|
	                CONVERT(varchar(100), a.FAddDate, 120) as '操作时间',
 | 
						|
	                b.FName as '操作人',
 | 
						|
	                CASE a.FModule
 | 
						|
		                when 1 THEN '待办事项'
 | 
						|
		                WHEN 2 THEN '协同路线'
 | 
						|
		                WHEN 3 THEN '物料路线'
 | 
						|
		                WHEN 4 THEN '试验号变更'
 | 
						|
		                WHEN 5 THEN '清单管理'
 | 
						|
		                WHEN 6 THEN '系统设置'
 | 
						|
		                ELSE ''
 | 
						|
	                END AS '模块',
 | 
						|
	                a.FTeamID as '协同ID',
 | 
						|
	                c.FName as '来源类型',
 | 
						|
	                LEFT(a.FDesc, 100) as '操作描述'
 | 
						|
                from
 | 
						|
	                TFS_OperateLog a
 | 
						|
                left join TUser b on
 | 
						|
	                a.FAddUser = b.FID
 | 
						|
                left join TBasicCode c on
 | 
						|
	                a.FType = c.FCode 
 | 
						|
                WHERE c.FType = 33
 | 
						|
                ORDER by
 | 
						|
	                a.FAddDate desc
 | 
						|
                ";
 | 
						|
 | 
						|
            DataTable data = db.Ado.GetDataTable(strSql);
 | 
						|
            return data;
 | 
						|
        }
 | 
						|
 | 
						|
    }
 | 
						|
}
 |