/// <summary>
        /// 按照查询条件查询
        /// </summary>
        /// <param name="query">查询条件</param>
        /// <param name="order">排序</param>
        /// <param name="currentPage">页号,-1不分页</param>
        /// <param name="pageSize">每页记录数</param>
        /// <param name="totalCount">总行数</param>
        /// <returns>集合</returns>
        public DataTable GetOtherTaskInfo(QueryOtherTaskInfo query, string order, int currentPage, int pageSize, out int totalCount)
        {
            string where = string.Empty;
            if (query.PTID != Constant.STRING_INVALID_VALUE)
            {
                where += " and PTID='" + Utils.StringHelper.SqlFilter(query.PTID) + "'";
            }

            DataSet ds;

            SqlParameter[] parameters =
            {
                new SqlParameter("@where",         SqlDbType.NVarChar, 40000),
                new SqlParameter("@order",         SqlDbType.NVarChar,   200),
                new SqlParameter("@pagesize",      SqlDbType.Int,          4),
                new SqlParameter("@indexpage",     SqlDbType.Int,          4),
                new SqlParameter("@totalRecorder", SqlDbType.Int, 4)
            };

            parameters[0].Value     = where;
            parameters[1].Value     = order;
            parameters[2].Value     = pageSize;
            parameters[3].Value     = currentPage;
            parameters[4].Direction = ParameterDirection.Output;

            ds         = SqlHelper.ExecuteDataset(CONNECTIONSTRINGS, CommandType.StoredProcedure, P_OTHERTASKINFO_SELECT, parameters);
            totalCount = (int)(parameters[4].Value);
            return(ds.Tables[0]);
        }
        /// <summary>
        /// 得到一个对象实体
        /// </summary>
        public Entities.OtherTaskInfo GetOtherTaskInfo(string PTID)
        {
            QueryOtherTaskInfo query = new QueryOtherTaskInfo();

            query.PTID = PTID;
            DataTable dt    = new DataTable();
            int       count = 0;

            dt = GetOtherTaskInfo(query, string.Empty, 1, 1, out count);
            if (count > 0)
            {
                return(LoadSingleOtherTaskInfo(dt.Rows[0]));
            }
            else
            {
                return(null);
            }
        }
        /// <summary>
        /// 是否存在该记录
        /// </summary>
        public bool IsExistsByPTID(string PTID)
        {
            QueryOtherTaskInfo query = new QueryOtherTaskInfo();

            query.PTID = PTID;
            DataTable dt    = new DataTable();
            int       count = 0;

            dt = GetOtherTaskInfo(query, string.Empty, 1, 1, out count);
            if (count > 0)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
        /// <summary>
        /// 按照查询条件查询 (其他任务列表页) add lxw
        /// </summary>
        /// <param name="query">查询条件</param>
        /// <param name="order">排序</param>
        /// <param name="currentPage">页号,-1不分页</param>
        /// <param name="pageSize">每页记录数</param>
        /// <param name="totalCount">总行数</param>
        /// <returns>集合</returns>
        public DataTable GetOtherTaskInfoByList(QueryOtherTaskInfo query, string order, int currentPage, int pageSize, out int totalCount)
        {
            string where = string.Empty;

            #region 数据权限判断
            if (query.LoginID != Constant.INT_INVALID_VALUE)
            {
                string whereDataRight = "";
                whereDataRight = Dal.UserGroupDataRigth.Instance.GetSqlRightstr("ProjectInfo", "te", "BGID", "userID", query.LoginID);
                where         += whereDataRight;
            }
            #endregion

            if (query.PTID != Constant.STRING_INVALID_VALUE)
            {
                where += " AND OtherTaskInfo.PTID='" + StringHelper.SqlFilter(query.PTID) + "'";
            }
            if (query.ProjectID != Constant.INT_INVALID_VALUE)
            {
                where += " AND ProjectInfo.ProjectID=" + query.ProjectID;
            }
            if (query.CustID != Constant.STRING_INVALID_VALUE)
            {
                where += " AND OtherTaskInfo.CustID='" + StringHelper.SqlFilter(query.CustID) + "' ";
            }
            if (query.ProjectName != Constant.STRING_INVALID_VALUE)
            {
                where += " AND ProjectInfo.Name like '%" + StringHelper.SqlFilter(query.ProjectName) + "%'";
            }
            if (query.Oper != Constant.INT_INVALID_VALUE)
            {
                where += " AND LastOptUserID =" + query.Oper;
            }
            if (query.CreateUserID != Constant.INT_INVALID_VALUE)
            {
                where += " AND OtherTaskInfo.CreateUserID =" + query.CreateUserID;
            }

            if (query.BGID != Constant.INT_INVALID_VALUE)
            {
                where += " AND ProjectInfo.BGID=" + query.BGID;
            }
            if (query.SCID != Constant.INT_INVALID_VALUE)
            {
                where += " AND PCatageID=" + query.SCID;
            }
            if (query.BeginTime != Constant.STRING_INVALID_VALUE && query.EndTime != Constant.STRING_INVALID_VALUE)
            {
                where += " AND OtherTaskInfo.LastOptTime>='" + StringHelper.SqlFilter(query.BeginTime) + " 0:00:000' AND OtherTaskInfo.LastOptTime<='" + StringHelper.SqlFilter(query.EndTime) + " 23:59:29'";
            }
            if (query.Statuss != Constant.STRING_INVALID_VALUE && query.Statuss != "-1")
            {
                where += " and (";
                for (int i = 0; i < Util.SqlFilterByInCondition(query.Statuss).Split(',').Length; i++)
                {
                    where += " OtherTaskInfo.TaskStatus='" + Util.SqlFilterByInCondition(query.Statuss).Split(',')[i] + "' or";
                }
                where  = where.Substring(0, where.Length - 2);
                where += ")";
            }
            if (query.Agent != Constant.INT_INVALID_VALUE)
            {
                where += " and te.UserID=" + query.Agent;
            }
            if (query.CustName != Constant.STRING_INVALID_VALUE)
            {
                where += " And Exists (SELECT CustID FROM Crm2009.dbo.CustInfo WHERE OtherTaskInfo.CustID=CustID And Crm2009.dbo.CustInfo.CustName like '%" + SqlFilter(query.CustName) + "%')";
            }


            DataSet ds;

            SqlParameter[] parameters =
            {
                new SqlParameter("@where",         SqlDbType.NVarChar, 40000),
                new SqlParameter("@order",         SqlDbType.NVarChar,   200),
                new SqlParameter("@pagesize",      SqlDbType.Int,          4),
                new SqlParameter("@indexpage",     SqlDbType.Int,          4),
                new SqlParameter("@totalRecorder", SqlDbType.Int, 4)
            };

            parameters[0].Value     = where;
            parameters[1].Value     = order;
            parameters[2].Value     = pageSize;
            parameters[3].Value     = currentPage;
            parameters[4].Direction = ParameterDirection.Output;

            ds         = SqlHelper.ExecuteDataset(CONNECTIONSTRINGS, CommandType.StoredProcedure, "p_OtherTaskInfo_SelectByList", parameters);
            totalCount = (int)(parameters[4].Value);
            return(ds.Tables[0]);
        }
        public string GetWhereStringForLog(QueryOtherTaskInfo query)
        {
            string where = string.Empty;
            try
            {
                #region 数据权限判断
                if (query.LoginID != Constant.INT_INVALID_VALUE)
                {
                    string whereDataRight = "";
                    whereDataRight = Dal.UserGroupDataRigth.Instance.GetSqlRightstr("ProjectInfo", "te", "BGID", "userID", query.LoginID);

                    where += whereDataRight;
                }
                #endregion

                if (query.PTID != Constant.STRING_INVALID_VALUE)
                {
                    where += " AND OtherTaskInfo.PTID='" + query.PTID + "'";
                }

                if (query.ProjectID != Constant.INT_INVALID_VALUE)
                {
                    where += " AND ProjectInfo.ProjectID=" + query.ProjectID;
                }

                if (query.CustID != Constant.STRING_INVALID_VALUE)
                {
                    where += " AND OtherTaskInfo.CustID='" + query.CustID + "' ";
                }

                if (query.ProjectName != Constant.STRING_INVALID_VALUE)
                {
                    where += " AND ProjectInfo.Name like '%" + query.ProjectName + "%'";
                }

                if (query.Oper != Constant.INT_INVALID_VALUE)
                {
                    where += " AND LastOptUserID =" + query.Oper;
                }

                if (query.CreateUserID != Constant.INT_INVALID_VALUE)
                {
                    where += " AND OtherTaskInfo.CreateUserID =" + query.CreateUserID;
                }

                if (query.BGID != Constant.INT_INVALID_VALUE)
                {
                    where += " AND ProjectInfo.BGID=" + query.BGID;
                }

                if (query.SCID != Constant.INT_INVALID_VALUE)
                {
                    where += " AND PCatageID=" + query.SCID;
                }
                if (query.BeginTime != Constant.STRING_INVALID_VALUE && query.EndTime != Constant.STRING_INVALID_VALUE)
                {
                    where += " AND OtherTaskInfo.LastOptTime>='" + query.BeginTime + " 0:00:000' AND OtherTaskInfo.LastOptTime<='" + query.EndTime + " 23:59:29'";
                }

                if (query.Statuss != Constant.STRING_INVALID_VALUE && query.Statuss != "-1")
                {
                    where += " and (";
                    for (int i = 0; i < query.Statuss.Split(',').Length; i++)
                    {
                        where += " OtherTaskInfo.TaskStatus='" + query.Statuss.Split(',')[i] + "' or";
                    }
                    where  = where.Substring(0, where.Length - 2);
                    where += ")";
                }
                if (query.Agent != Constant.INT_INVALID_VALUE)
                {
                    where += " and te.UserID=" + query.Agent;
                }
                if (query.CustName != Constant.STRING_INVALID_VALUE)
                {
                    where += " And Exists (SELECT CustID FROM Crm2009.dbo.CustInfo WHERE OtherTaskInfo.CustID=CustID And Crm2009.dbo.CustInfo.CustName like '%" + query.CustName + "%')";
                }
                return(where);
            }
            catch (Exception ex)
            {
                BLL.Loger.Log4Net.Error("获取查询字符串时出现异常,Message:" + ex.Message + "; StackTrace:" + ex.StackTrace);
                return("");
            }
        }
 /// <summary>
 /// 按照查询条件查询 (其他任务列表页) add lxw
 /// </summary>
 /// <param name="query">查询条件</param>
 /// <param name="order">排序</param>
 /// <param name="currentPage">页号,-1不分页</param>
 /// <param name="pageSize">每页记录数</param>
 /// <param name="totalCount">总行数</param>
 /// <returns>集合</returns>
 public DataTable GetOtherTaskInfoByList(QueryOtherTaskInfo query, string order, int currentPage, int pageSize, out int totalCount)
 {
     return(Dal.OtherTaskInfo.Instance.GetOtherTaskInfoByList(query, order, currentPage, pageSize, out totalCount));
 }