1
wangsheng
2022-03-22 49d5052a4a51a639d1c75d6feca56f8ae2e5e568
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
//登陆日志程序
using Common;
using Model;
using Oracle.DataAccess.Client;
using System;
using System.Data;
using System.Data.Common;
using System.Text;
 
namespace Dao
{
    public class SysOperationLogDao : IDisposable
    {
        public DataTable SysLogPageList(int refid, string ramark, string userName, int count, out int recordCount, int pageIndex, int pageSize)
        {
            recordCount = 0;
            StringBuilder stringBuilder = new StringBuilder();
            stringBuilder.Append(" from (SELECT * FROM SYS_OPERATION_LOG  ORDER BY LOG_ID DESC) a where ROWNUM <1000 ");
            OracleParameter[] oracleParameterArray = new OracleParameter[3];
            if (refid > 0)
            {
                oracleParameterArray[0] = new OracleParameter(":REF_ID", (OracleDbType)112);
                ((DbParameter)oracleParameterArray[0]).Value = (object)refid;
                stringBuilder.Append(" and REF_ID = :REF_ID");
            }
            if (!string.IsNullOrEmpty(ramark))
            {
                oracleParameterArray[1] = new OracleParameter(":RAMARK", (OracleDbType)126);
                ((DbParameter)oracleParameterArray[1]).Value = (object)( '%' +  ramark +  '%');
                stringBuilder.Append(" and RAMARK LIKE :RAMARK");
            }
            if (!string.IsNullOrEmpty(userName))
            {
                oracleParameterArray[2] = new OracleParameter(":USER_NAME", (OracleDbType)112);
                ((DbParameter)oracleParameterArray[2]).Value = (object)userName;
                stringBuilder.Append(" and USER_NAME = :USER_NAME");
            }
            using (OracleDataReader reader = OracleHelper.ExecuteReader("SELECT count(*) as count" + (object)stringBuilder, OracleHelper.Connection, oracleParameterArray))
            {
                while (((DbDataReader)reader).Read())
                    recordCount = this.ReadCount(reader);
            }
            return OracleHelper.Execute(PubConstant.doOracleSql(pageIndex, pageSize, recordCount, "SELECT *" + (object)stringBuilder).ToString(), OracleHelper.Connection, oracleParameterArray);
        }
 
        public bool AddLog(string UserName, int MenuID, int refid, string Ramark, string IP)
        {
            return OracleHelper.ExecuteSql("insert into SYS_OPERATION_LOG(LOG_ID,USER_NAME,RAMARK,MENU_ID,REF_ID,CREATE_TIME,IP) values(OPERATION_LOG_ID_SEQ.NEXTVAL,:USER_NAME,:RAMARK,:MENU_ID,:REF_ID,sysdate,:IP)", OracleHelper.Connection, new OracleParameter(":USER_NAME", (object)UserName), new OracleParameter(":RAMARK", (object)Ramark), new OracleParameter(":IP", (object)IP), new OracleParameter(":MENU_ID", (object)MenuID), new OracleParameter(":REF_ID", (object)refid)) > 0;
        }
 
        private bool ReadInfo(OracleDataReader reader, SysOperationLog o)
        {
            OracleReaderWrapper oracleReaderWrapper = new OracleReaderWrapper(reader);
            o.LogID = oracleReaderWrapper.GetInt("LOG_ID", 0);
            o.UserName = oracleReaderWrapper.GetString("USER_NAME", "");
            o.Ramark = oracleReaderWrapper.GetString("RAMARK", "");
            o.CreateTime = oracleReaderWrapper.GetDateTime("CREATE_TIME");
            o.IP = oracleReaderWrapper.GetString("IP", "0.0.0.0");
            o.MenuID = oracleReaderWrapper.GetInt("MENU_ID", 0);
            o.MenuID = oracleReaderWrapper.GetInt("REF_ID", 0);
            return true;
        }
 
        private int ReadCount(OracleDataReader reader)
        {
            return new OracleReaderWrapper(reader).GetInt("count", 0);
        }
 
        public void Dispose()
        {
        }
    }
}