wzp
2022-11-23 c3acb0bf589ba6de244e4eae737152688e5d3e61
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,25 @@
        /// <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 spidStr = "";
            if (!string.IsNullOrEmpty(spids))
            {
                spidStr = " and ca.SP_ID ='"+spids+"'";
            }
            string str = string.Format("SELECT op.op_name,ca.SP_ID,ca.client_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 1=1 " +
                " {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.client_id,ca.OP_ID,ca.MSG_CONTENT,ca.KEYWORD,ca.HASH_CODE,op.op_name", spidStr, 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));
@@ -180,6 +197,16 @@
            OracleParameter[] parameterArray = new OracleParameter[] { new OracleParameter(":AUDITING_STATUS", (int)status), new OracleParameter(":HASH_CODE", hashCode) };
            return (OracleHelper.ExecuteSql(str, OracleHelper.Connection, parameterArray) > 0);
        }
        //更新内容
        public bool UpdateCacheContent(string hashCode, string content)
        {
            string str = "UPDATE GW_AUDIT_CACHE SET AP_SUBMIT_TIME=SYSDATE,MSG_CONTENT=:MSG_CONTENT WHERE  HASH_CODE=:HASH_CODE";
            OracleParameter[] parameterArray = new OracleParameter[] { new OracleParameter(":MSG_CONTENT", content), new OracleParameter(":HASH_CODE", hashCode) };
            return (OracleHelper.ExecuteSql(str, OracleHelper.Connection, parameterArray) > 0);
        }
        public bool UpdateCacheStatus(string hashCode, AuditingStatus status, int opID)
        {
@@ -187,5 +214,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;
        }
    }
}