wzp
2022-11-21 c39e8bafd3674c9b9de49d12df87609c31b202a3
web/Dao/GwAuditCacheDao.cs
@@ -7,6 +7,7 @@
    using System;
    using System.Collections.Generic;
    using System.Data;
    using System.Data.Common;
    using System.Runtime.InteropServices;
    using System.Text;
    using System.Text.RegularExpressions;
@@ -90,9 +91,23 @@
        /// <param name="pageSize"></param>
        /// <param name="pageIndex"></param>
        /// <returns></returns>
        public DataTable LoadCache(DateTime begin, DateTime end, int status, string content, string spids, out int recordCount, int pageSize, int pageIndex)
        public DataTable LoadCache(DateTime begin, DateTime end, int status, string content, string spids, out int recordCount, int pageSize, int pageIndex, string opname)
        {
            string str = string.Format("SELECT  op.op_name,ca.SP_ID,ca.OP_ID,ca.MSG_CONTENT,ca.KEYWORD,ca.HASH_CODE,COUNT(*) CNT FROM GW_AUDIT_CACHE ca left join gw_op op on ca.op_id=op.op_id WHERE  {0} ca.AP_SUBMIT_TIME BETWEEN :START_TIME AND :END_TIME AND (ca.MSG_CONTENT LIKE :CONTENT OR :CONTENT='%%') AND ca.AUDITING_STATUS=:AUDITING_STATUS \r\n   GROUP BY ca.SP_ID,ca.OP_ID,ca.MSG_CONTENT,ca.KEYWORD,ca.HASH_CODE,op.op_name", this.GenerateOpIDsString(spids));
            string OP = "";
            if (opname != "")
            { OP = $"and op.OP_NAME='{opname}'"; }
            //string str = string.Format("SELECT op.op_name,ca.SP_ID,ca.OP_ID,ca.MSG_CONTENT,ca.KEYWORD,ca.HASH_CODE,COUNT(*) CNT " +
            //    "FROM GW_AUDIT_CACHE ca left join gw_op op on ca.op_id=op.op_id WHERE " +
            //    " {0} ca.AP_SUBMIT_TIME BETWEEN :START_TIME AND :END_TIME AND (ca.MSG_CONTENT LIKE :CONTENT OR :CONTENT='%%')" +
            //    " AND ca.AUDITING_STATUS=:AUDITING_STATUS {1} \r\n  " +
            //    " GROUP BY ca.SP_ID,ca.OP_ID,ca.MSG_CONTENT,ca.KEYWORD,ca.HASH_CODE,op.op_name", this.GenerateOpIDsString(spids), OP);
            //最新
            string str = string.Format("SELECT op.op_name,ca.SP_ID,ca.OP_ID,ca.MSG_CONTENT,ca.KEYWORD,ca.HASH_CODE,COUNT(*) CNT " +
                "FROM GW_AUDIT_CACHE ca left join gw_op op on ca.op_id=op.op_id WHERE " +
                " ca.SP_ID IN '{0}' and ca.AP_SUBMIT_TIME BETWEEN :START_TIME AND :END_TIME AND (ca.MSG_CONTENT LIKE :CONTENT OR :CONTENT='%%')" +
                " AND ca.AUDITING_STATUS=:AUDITING_STATUS {1} \r\n  " +
                " GROUP BY ca.SP_ID,ca.OP_ID,ca.MSG_CONTENT,ca.KEYWORD,ca.HASH_CODE,op.op_name",spids, OP);
            List<GwAuditCache> list = new List<GwAuditCache>();
            OracleParameter[] parameterArray = new OracleParameter[] { new OracleParameter(":START_TIME", begin), new OracleParameter(":END_TIME", end), new OracleParameter(":CONTENT", "%" + content + "%"), new OracleParameter(":AUDITING_STATUS", status) };
            recordCount = Convert.ToInt32(OracleHelper.ExecuteScalar(OracleHelper.ToCountSql(str), OracleHelper.Connection, parameterArray));
@@ -187,5 +202,52 @@
            OracleParameter[] parameterArray = new OracleParameter[] { new OracleParameter(":AUDITING_STATUS", (int)status), new OracleParameter(":HASH_CODE", hashCode), new OracleParameter(":OP_ID", opID) };
            return (OracleHelper.ExecuteSql(str, OracleHelper.Connection, parameterArray) > 0);
        }
        //发送内容:待审核统计
        public List<Dictionary<string, object>> GetSendAudit(string permissionsSQL)
        {
            List<Dictionary<string, object>> list = new List<Dictionary<string, object>>();
            StringBuilder builder = new StringBuilder();
            builder.Append(" SELECT COUNT(1) COUNT  FROM GW_AUDIT_CACHE WHERE AUDITING_STATUS =0 ");
            builder.Append(permissionsSQL);
            using (OracleDataReader reader = OracleHelper.ExecuteReader(builder.ToString(), OracleHelper.Connection))
            {
                while (reader != null && ((DbDataReader)reader).Read())
                {
                    OracleReaderWrapper oracleReaderWrapper = new OracleReaderWrapper(reader);
                    int count = oracleReaderWrapper.GetInt("COUNT", 0);
                    Dictionary<string, object> map = new Dictionary<string, object>();
                    map.Add("count", count);
                    list.Add(map);
                }
            }
            return list;
        }
        //发送内容:二次待审核统计
        public List<Dictionary<string, object>> GetSendAuditTow(string permissionsSQL)
        {
            List<Dictionary<string, object>> list = new List<Dictionary<string, object>>();
            StringBuilder builder = new StringBuilder();
            builder.Append(" SELECT COUNT(1) COUNT  FROM GW_AUDIT_CACHE WHERE AUDITING_STATUS =10 ");
            builder.Append(permissionsSQL);
            using (OracleDataReader reader = OracleHelper.ExecuteReader(builder.ToString(), OracleHelper.Connection))
            {
                while (reader != null && ((DbDataReader)reader).Read())
                {
                    OracleReaderWrapper oracleReaderWrapper = new OracleReaderWrapper(reader);
                    int count = oracleReaderWrapper.GetInt("COUNT", 0);
                    Dictionary<string, object> map = new Dictionary<string, object>();
                    map.Add("count", count);
                    list.Add(map);
                }
            }
            return list;
        }
    }
}