/// <summary>
        /// 对象编辑
        /// </summary>
        /// <param name="tOaMessageInfoDept">用户对象</param>
        /// <returns>是否成功</returns>
        public bool Edit(TOaMessageInfoDeptVo tOaMessageInfoDept)
        {
            string strSQL = SqlHelper.BuildUpdateExpress(tOaMessageInfoDept, TOaMessageInfoDeptVo.T_OA_MESSAGE_INFO_DEPT_TABLE);

            strSQL += string.Format(" where ID='{0}' ", tOaMessageInfoDept.ID);
            return(SqlHelper.ExecuteNonQuery(CommandType.Text, strSQL) > 0 ? true : false);
        }
        /// <summary>
        /// 对象编辑
        /// </summary>
        /// <param name="tOaMessageInfoDept_UpdateSet">UpdateSet用户对象</param>
        /// <param name="tOaMessageInfoDept_UpdateWhere">UpdateWhere用户对象</param>
        /// <returns>是否成功</returns>
        public bool Edit(TOaMessageInfoDeptVo tOaMessageInfoDept_UpdateSet, TOaMessageInfoDeptVo tOaMessageInfoDept_UpdateWhere)
        {
            string strSQL = SqlHelper.BuildUpdateExpress(tOaMessageInfoDept_UpdateSet, TOaMessageInfoDeptVo.T_OA_MESSAGE_INFO_DEPT_TABLE);

            strSQL += this.BuildWhereStatement(tOaMessageInfoDept_UpdateWhere);
            return(SqlHelper.ExecuteNonQuery(CommandType.Text, strSQL) > 0 ? true : false);
        }
        /// <summary>
        /// 获取对象DataTable
        /// </summary>
        /// <param name="tOaMessageInfoDept">对象</param>
        /// <param name="iIndex">起始页码</param>
        /// <param name="iCount">每页数目</param>
        /// <returns>返回结果</returns>
        public DataTable SelectByTable(TOaMessageInfoDeptVo tOaMessageInfoDept, int iIndex, int iCount)
        {
            string strSQL = " select * from T_OA_MESSAGE_INFO_DEPT {0} ";

            strSQL = String.Format(strSQL, BuildWhereStatement(tOaMessageInfoDept));
            return(SqlHelper.ExecuteDataTable(BuildPagerExpress(strSQL, iIndex, iCount)));
        }
        /// <summary>
        /// 对象删除
        /// </summary>
        /// <param name="Id">ID</param>
        /// <returns>是否成功</returns>
        public bool Delete(TOaMessageInfoDeptVo tOaMessageInfoDept)
        {
            string strSQL = "delete from T_OA_MESSAGE_INFO_DEPT ";

            strSQL += this.BuildWhereStatement(tOaMessageInfoDept);

            return(SqlHelper.ExecuteNonQuery(CommandType.Text, strSQL) > 0 ? true : false);
        }
        /// <summary>
        /// 根据对象构造条件语句
        /// </summary>
        /// <param name="tOaMessageInfoDept"></param>
        /// <returns></returns>
        public string BuildWhereStatement(TOaMessageInfoDeptVo tOaMessageInfoDept)
        {
            StringBuilder strWhereStatement = new StringBuilder(" Where 1=1 ");

            if (null != tOaMessageInfoDept)
            {
                //ID
                if (!String.IsNullOrEmpty(tOaMessageInfoDept.ID.ToString().Trim()))
                {
                    strWhereStatement.Append(string.Format(" AND ID = '{0}'", tOaMessageInfoDept.ID.ToString()));
                }
                //消息编号
                if (!String.IsNullOrEmpty(tOaMessageInfoDept.MESSAGE_ID.ToString().Trim()))
                {
                    strWhereStatement.Append(string.Format(" AND MESSAGE_ID = '{0}'", tOaMessageInfoDept.MESSAGE_ID.ToString()));
                }
                //部门ID
                if (!String.IsNullOrEmpty(tOaMessageInfoDept.DEPT_ID.ToString().Trim()))
                {
                    strWhereStatement.Append(string.Format(" AND DEPT_ID = '{0}'", tOaMessageInfoDept.DEPT_ID.ToString()));
                }
                //备注1
                if (!String.IsNullOrEmpty(tOaMessageInfoDept.REMARK1.ToString().Trim()))
                {
                    strWhereStatement.Append(string.Format(" AND REMARK1 = '{0}'", tOaMessageInfoDept.REMARK1.ToString()));
                }
                //备注2
                if (!String.IsNullOrEmpty(tOaMessageInfoDept.REMARK2.ToString().Trim()))
                {
                    strWhereStatement.Append(string.Format(" AND REMARK2 = '{0}'", tOaMessageInfoDept.REMARK2.ToString()));
                }
                //备注3
                if (!String.IsNullOrEmpty(tOaMessageInfoDept.REMARK3.ToString().Trim()))
                {
                    strWhereStatement.Append(string.Format(" AND REMARK3 = '{0}'", tOaMessageInfoDept.REMARK3.ToString()));
                }
                //备注4
                if (!String.IsNullOrEmpty(tOaMessageInfoDept.REMARK4.ToString().Trim()))
                {
                    strWhereStatement.Append(string.Format(" AND REMARK4 = '{0}'", tOaMessageInfoDept.REMARK4.ToString()));
                }
                //备注5
                if (!String.IsNullOrEmpty(tOaMessageInfoDept.REMARK5.ToString().Trim()))
                {
                    strWhereStatement.Append(string.Format(" AND REMARK5 = '{0}'", tOaMessageInfoDept.REMARK5.ToString()));
                }
            }
            return(strWhereStatement.ToString());
        }
 /// <summary>
 /// 对象删除
 /// </summary>
 /// <param name="Id">ID</param>
 /// <returns>是否成功</returns>
 public bool Delete(TOaMessageInfoDeptVo tOaMessageInfoDept)
 {
     return(access.Delete(tOaMessageInfoDept));
 }
 /// <summary>
 /// 对象编辑
 /// </summary>
 /// <param name="tOaMessageInfoDept_UpdateSet">UpdateSet用户对象</param>
 /// <param name="tOaMessageInfoDept_UpdateWhere">UpdateWhere用户对象</param>
 /// <returns>是否成功</returns>
 public bool Edit(TOaMessageInfoDeptVo tOaMessageInfoDept_UpdateSet, TOaMessageInfoDeptVo tOaMessageInfoDept_UpdateWhere)
 {
     return(access.Edit(tOaMessageInfoDept_UpdateSet, tOaMessageInfoDept_UpdateWhere));
 }
 /// <summary>
 /// 对象编辑
 /// </summary>
 /// <param name="tOaMessageInfoDept">用户对象</param>
 /// <returns>是否成功</returns>
 public bool Edit(TOaMessageInfoDeptVo tOaMessageInfoDept)
 {
     return(access.Edit(tOaMessageInfoDept));
 }
 /// <summary>
 /// 对象添加
 /// </summary>
 /// <param name="sysRole">对象</param>
 /// <returns>是否成功</returns>
 public bool Create(TOaMessageInfoDeptVo tOaMessageInfoDept)
 {
     return(access.Create(tOaMessageInfoDept));
 }
 /// <summary>
 /// 获取对象DataTable
 /// </summary>
 /// <param name="tOaMessageInfoDept">对象</param>
 /// <param name="iIndex">起始页码</param>
 /// <param name="iCount">每页数目</param>
 /// <returns>返回结果</returns>
 public DataTable SelectByTable(TOaMessageInfoDeptVo tOaMessageInfoDept, int iIndex, int iCount)
 {
     return(access.SelectByTable(tOaMessageInfoDept, iIndex, iCount));
 }
 /// <summary>
 /// 对象明细
 /// </summary>
 /// <param name="tOaMessageInfoDept">对象条件</param>
 /// <returns>对象</returns>
 public TOaMessageInfoDeptVo Details(TOaMessageInfoDeptVo tOaMessageInfoDept)
 {
     return(access.Details(tOaMessageInfoDept));
 }
        /// <summary>
        /// 获取对象List
        /// </summary>
        /// <param name="tOaMessageInfoDept">对象</param>
        /// <param name="iIndex">起始页码</param>
        /// <param name="iCount">每页数目</param>
        /// <returns>返回结果</returns>
        public List <TOaMessageInfoDeptVo> SelectByObject(TOaMessageInfoDeptVo tOaMessageInfoDept, int iIndex, int iCount)
        {
            string strSQL = String.Format("select * from  T_OA_MESSAGE_INFO_DEPT " + this.BuildWhereStatement(tOaMessageInfoDept));

            return(SqlHelper.ExecuteObjectList(tOaMessageInfoDept, BuildPagerExpress(strSQL, iIndex, iCount)));
        }
        /// <summary>
        /// 对象明细
        /// </summary>
        /// <param name="tOaMessageInfoDept">对象条件</param>
        /// <returns>对象</returns>
        public TOaMessageInfoDeptVo Details(TOaMessageInfoDeptVo tOaMessageInfoDept)
        {
            string strSQL = String.Format("select * from  T_OA_MESSAGE_INFO_DEPT " + this.BuildWhereStatement(tOaMessageInfoDept));

            return(SqlHelper.ExecuteObject(new TOaMessageInfoDeptVo(), strSQL));
        }
        /// <summary>
        /// 获得查询结果总行数,用于分页
        /// </summary>
        /// <param name="tOaMessageInfoDept">对象</param>
        /// <returns>返回行数</returns>
        public int GetSelectResultCount(TOaMessageInfoDeptVo tOaMessageInfoDept)
        {
            string strSQL = "select Count(*) from T_OA_MESSAGE_INFO_DEPT " + this.BuildWhereStatement(tOaMessageInfoDept);

            return(Convert.ToInt32(SqlHelper.ExecuteScalar(strSQL)));
        }
 public TOaMessageInfoDeptLogic(TOaMessageInfoDeptVo _tOaMessageInfoDept)
 {
     tOaMessageInfoDept = _tOaMessageInfoDept;
     access             = new TOaMessageInfoDeptAccess();
 }
        /// <summary>
        /// 根据对象获取全部数据,用Table承载
        ///  数据量较小时使用【不推荐】
        /// </summary>
        /// <param name="tOaMessageInfoDept"></param>
        /// <returns></returns>
        public DataTable SelectByTable(TOaMessageInfoDeptVo tOaMessageInfoDept)
        {
            string strSQL = "select * from T_OA_MESSAGE_INFO_DEPT " + this.BuildWhereStatement(tOaMessageInfoDept);

            return(SqlHelper.ExecuteDataTable(strSQL));
        }
 /// <summary>
 /// 获得查询结果总行数,用于分页
 /// </summary>
 /// <param name="tOaMessageInfoDept">对象</param>
 /// <returns>返回行数</returns>
 public int GetSelectResultCount(TOaMessageInfoDeptVo tOaMessageInfoDept)
 {
     return(access.GetSelectResultCount(tOaMessageInfoDept));
 }
    //保存数据
    private static string SaveData(string strID, string strMessageTitle, string strSendBy, string strSendDate, string strAcceptType,
                                   string strAcceptRealNames, string strAcceptUserIDs, string strAcceptDeptNames, string strAcceptDeptIDs, string strMessageContent, string strUserID)
    {
        string strSendByName = strSendBy;

        TSysUserVo objUserFrom = new TSysUserVo();

        objUserFrom.ID = strSendBy;
        DataTable dtUserSender = new TSysUserLogic().SelectByTable_ByDept(objUserFrom, 0, 0);

        if (dtUserSender.Rows.Count > 0)
        {
            strSendByName = dtUserSender.Rows[0]["REAL_NAME"].ToString();
        }


        bool isSuccess = true;

        strAcceptRealNames = strAcceptRealNames.Trim();
        strAcceptUserIDs   = strAcceptUserIDs.Trim();
        strAcceptDeptNames = strAcceptDeptNames.Trim();
        strAcceptDeptIDs   = strAcceptDeptIDs.Trim();

        #region 消息查看--编辑消息阅读状态
        if (strID.Length > 0)
        {
            TOaMessageInfoReceiveVo objReceive = new TOaMessageInfoReceiveVo();
            objReceive.IS_READ    = "0";
            objReceive.MESSAGE_ID = strID;
            objReceive.RECEIVER   = strUserID;
            objReceive            = new TOaMessageInfoReceiveLogic().Details(objReceive);
            if (objReceive.ID.Length > 0)
            {
                objReceive.IS_READ = "1";
                if (new TOaMessageInfoReceiveLogic().Edit(objReceive))
                {
                    new PageBase().WriteLog("编辑消息阅读状态", "", new UserLogInfo().UserInfo.USER_NAME + "编辑消息阅读状态" + objReceive.ID);
                }

                return("1");
            }
        }
        #endregion

        DataTable dtDept = new TSysDictLogic().SelectByTable(new TSysDictVo()
        {
            DICT_TYPE = "dept"
        });
        strAcceptDeptNames = strAcceptDeptNames.Replace(";", ",");
        string[] arrAccDeptName = strAcceptDeptNames.Split(',');
        for (int i = 0; i < arrAccDeptName.Length; i++)
        {
            if (arrAccDeptName[i].Length > 0)
            {
                DataRow[] drDept = dtDept.Select("DICT_TEXT='" + arrAccDeptName[i] + "'");
                if (drDept.Length > 0)
                {
                    strAcceptDeptIDs += (strAcceptDeptIDs.Length > 0 ? "," : "") + drDept[0]["DICT_CODE"];
                }
            }
        }

        #region 清空对应的几个接收信息表,冗余操作,但可以防止错误
        if (strID.Length > 0)
        {
            //消息接收人表
            TOaMessageInfoManVo objMessageMan = new TOaMessageInfoManVo();
            objMessageMan.MESSAGE_ID = strID;
            if (new TOaMessageInfoManLogic().Delete(objMessageMan))
            {
                new PageBase().WriteLog("删除消息接收人", "", new UserLogInfo().UserInfo.USER_NAME + "删除消息接收人" + objMessageMan.ID);
            }


            //消息阅读状态表
            TOaMessageInfoReceiveVo objMessageReceive = new TOaMessageInfoReceiveVo();
            objMessageReceive.MESSAGE_ID = strID;
            if (new TOaMessageInfoReceiveLogic().Delete(objMessageReceive))
            {
                new PageBase().WriteLog("删除消息阅读状态", "", new UserLogInfo().UserInfo.USER_NAME + "删除消息阅读状态" + objMessageReceive.ID);
            }

            //消息接收部门表
            TOaMessageInfoDeptVo objMessageDept = new TOaMessageInfoDeptVo();
            objMessageDept.MESSAGE_ID = strID;
            if (new TOaMessageInfoDeptLogic().Delete(objMessageDept))
            {
                new PageBase().WriteLog("删除消息接收部门", "", new UserLogInfo().UserInfo.USER_NAME + "删除消息接收部门" + objMessageDept.ID);
            }
        }
        #endregion

        string strSQL = "";
        #region 新增消息
        if (strID.Length > 0)
        {
            strSQL  = "update T_OA_MESSAGE_INFO set MESSAGE_TITLE='{0}',SEND_BY='{1}',SEND_DATE='{2}',ACCEPT_TYPE='{3}',";
            strSQL += "ACCEPT_REALNAMES='{4}',ACCEPT_USERIDS='{5}',ACCEPT_DEPTNAMES='{6}',ACCEPT_DEPTIDS='{7}',";
            strSQL += "MESSAGE_CONTENT='{8}'";
            strSQL += " where ID='{9}'";
            strSQL  = string.Format(strSQL, strMessageTitle, strSendBy, strSendDate, (strAcceptType == "全站") ? "1" : "2",
                                    strAcceptRealNames.TrimEnd(','), strAcceptUserIDs.TrimEnd(','), strAcceptDeptNames, strAcceptDeptIDs,
                                    strMessageContent, strID);
        }
        else
        {
            strID   = GetSerialNumber("t_oa_messageinfo_id");
            strSQL  = "insert into T_OA_MESSAGE_INFO (ID,MESSAGE_TITLE,SEND_BY,SEND_DATE,ACCEPT_TYPE,ACCEPT_REALNAMES,ACCEPT_USERIDS,ACCEPT_DEPTNAMES,ACCEPT_DEPTIDS,MESSAGE_CONTENT)";
            strSQL += " values('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}')";
            strSQL  = string.Format(strSQL, strID, strMessageTitle, strSendBy, strSendDate, (strAcceptType == "全站") ? "1" : "2",
                                    strAcceptRealNames.TrimEnd(','), strAcceptUserIDs.TrimEnd(','), strAcceptDeptNames, strAcceptDeptIDs,
                                    strMessageContent);
        }
        #endregion

        string strAccUserIDs = "";
        if (strAcceptType == "全站")//全站
        {
            TSysUserVo objUser = new TSysUserVo();

            objUser.IS_DEL  = "0";
            objUser.IS_HIDE = "0";
            objUser.IS_USE  = "1";

            DataTable dtUser = new TSysUserLogic().SelectByTable(objUser);

            for (int j = 0; j < dtUser.Rows.Count; j++)
            {
                // by yinchengyi 2014-10-23  T_OA_MESSAGE_INFO_MAN 没用
                //strSQL += "\r\n";
                //strSQL += "insert into T_OA_MESSAGE_INFO_MAN (ID,MESSAGE_ID,RECEIVER_ID)";
                //strSQL += " values('{0}','{1}','{2}')";
                //strSQL = string.Format(strSQL, GetSerialNumber("t_oa_messageinfoman_id"), strID, dtUser.Rows[j]["ID"].ToString());

                string strErrMsg = cInstanceMsgHandle.SendMsg(strSendByName, dtUser.Rows[j]["REAL_NAME"].ToString(), dtUser.Rows[j]["PHONE_MOBILE"].ToString().Trim(), strMessageContent);

                strSQL += "\r\n";
                strSQL += "insert into T_OA_MESSAGE_INFO_RECEIVE (ID,MESSAGE_ID,RECEIVER,IS_READ,REMARK3)";
                strSQL += " values('{0}','{1}','{2}','{3}','{4}')";
                strSQL  = string.Format(strSQL, GetSerialNumber("t_oa_messageinfodel_id"), strID, dtUser.Rows[j]["ID"].ToString(), "0", strErrMsg);

                strAccUserIDs += (strAccUserIDs.Length > 0 ? "," : "") + dtUser.Rows[j]["ID"].ToString();
            }
        }
        else//按部门,按个人分配消息
        {
            // by yinchengyi 2014-10-23  T_OA_MESSAGE_INFO_MAN 没用
            //for (int i = 0; i < strAcceptUserIDs.Split(',').Length; i++)
            //{
            //    if (strAcceptUserIDs.Split(',')[i].Length > 0)
            //    {
            //        strSQL += "\r\n";
            //        strSQL += "insert into T_OA_MESSAGE_INFO_MAN (ID,MESSAGE_ID,RECEIVER_ID)";
            //        strSQL += " values('{0}','{1}','{2}')";
            //        strSQL = string.Format(strSQL, GetSerialNumber("t_oa_messageinfoman_id"), strID, strAcceptUserIDs.Split(',')[i]);
            //    }
            //}

            // by yinchengyi 2014-10-23  T_OA_MESSAGE_INFO_DEPT 没用
            //for (int i = 0; i < strAcceptDeptIDs.Split(',').Length; i++)
            //{
            //    if (strAcceptDeptIDs.Split(',')[i].Length > 0)
            //    {
            //        strSQL += "\r\n";
            //        strSQL += "insert into T_OA_MESSAGE_INFO_DEPT (ID,MESSAGE_ID,DEPT_ID)";
            //        strSQL += " values('{0}','{1}','{2}')";
            //        strSQL = string.Format(strSQL, GetSerialNumber("t_oa_messageinfodept_id"), strID, strAcceptDeptIDs.Split(',')[i]);
            //    }
            //}


            //部门人员添加
            if (strAcceptDeptIDs.Length > 0)
            {
                TSysUserVo objUser = new TSysUserVo();

                objUser.IS_DEL  = "0";
                objUser.REMARK4 = strAcceptDeptIDs.Replace(",", "','");
                DataTable dtUserByDept = new TSysUserLogic().SelectByTable_ByDept(objUser, 0, 0);
                for (int j = 0; j < dtUserByDept.Rows.Count; j++)
                {
                    if (!strAcceptUserIDs.Contains(dtUserByDept.Rows[j]["ID"].ToString()))
                    {
                        strAcceptUserIDs += (strAcceptUserIDs.Length > 0 ? "," : "") + dtUserByDept.Rows[j]["ID"].ToString();
                    }
                }
            }

            for (int i = 0; i < strAcceptUserIDs.Split(',').Length; i++)
            {
                if (strAcceptUserIDs.Split(',')[i].Length > 0)
                {
                    TSysUserVo objUser = new TSysUserVo();
                    objUser.ID = strAcceptUserIDs.Split(',')[i];
                    DataTable dtUserByDept = new TSysUserLogic().SelectByTable_ByDept(objUser, 0, 0);

                    string strErrMsg = "unknown user";

                    if (dtUserByDept.Rows.Count > 0)
                    {
                        strErrMsg = cInstanceMsgHandle.SendMsg(strSendByName, dtUserByDept.Rows[0]["REAL_NAME"].ToString(), dtUserByDept.Rows[0]["PHONE_MOBILE"].ToString().Trim(), strMessageContent);
                    }

                    strSQL += "\r\n";
                    strSQL += "insert into T_OA_MESSAGE_INFO_RECEIVE (ID,MESSAGE_ID,RECEIVER,IS_READ,REMARK3)";
                    strSQL += " values('{0}','{1}','{2}','{3}','{4}')";
                    strSQL  = string.Format(strSQL, GetSerialNumber("t_oa_messageinfodel_id"), strID, strAcceptUserIDs.Split(',')[i], "0", strErrMsg);
                }
            }

            strAccUserIDs += (strAccUserIDs.Length > 0 ? "," : "") + strAcceptUserIDs;
        }

        //if (strAccUserIDs.Length > 0)
        //{
        //    string strErrMsg = "";
        //    //new SendMobileMsg().AutoSenMobilMsg(strMessageContent, strSendBy, strAccUserIDs, true, "", ref strErrMsg);

        //}

        #region 消息体
        isSuccess = SqlHelper.ExecuteNonQuery(CommandType.Text, strSQL) > 0 ? true : false;
        if (isSuccess)
        {
            if (strID.Length > 0)
            {
                new PageBase().WriteLog("编辑短消息信息", "", new UserLogInfo().UserInfo.USER_NAME + "编辑短消息信息" + strID);
            }
            else
            {
                new PageBase().WriteLog("添加短消息信息", "", new UserLogInfo().UserInfo.USER_NAME + "添加短消息信息" + strID);
            }
        }
        #endregion

        if (isSuccess)
        {
            return("1");
        }
        else
        {
            return("0");
        }
    }
 /// <summary>
 /// 获取对象List
 /// </summary>
 /// <param name="tOaMessageInfoDept">对象</param>
 /// <param name="iIndex">起始页码</param>
 /// <param name="iCount">每页数目</param>
 /// <returns>返回结果</returns>
 public List <TOaMessageInfoDeptVo> SelectByObject(TOaMessageInfoDeptVo tOaMessageInfoDept, int iIndex, int iCount)
 {
     return(access.SelectByObject(tOaMessageInfoDept, iIndex, iCount));
 }
 /// <summary>
 /// 根据对象特征获取单一对象
 /// </summary>
 /// <param name="tOaMessageInfoDept">对象</param>
 /// <returns></returns>
 public TOaMessageInfoDeptVo SelectByObject(TOaMessageInfoDeptVo tOaMessageInfoDept)
 {
     return(access.SelectByObject(tOaMessageInfoDept));
 }
 /// <summary>
 /// 根据对象获取全部数据,用Table承载
 ///  数据量较小时使用【不推荐】
 /// </summary>
 /// <param name="tOaMessageInfoDept"></param>
 /// <returns></returns>
 public DataTable SelectByTable(TOaMessageInfoDeptVo tOaMessageInfoDept)
 {
     return(access.SelectByTable(tOaMessageInfoDept));
 }
        /// <summary>
        /// 对象添加
        /// </summary>
        /// <param name="tOaMessageInfoDept">对象</param>
        /// <returns>是否成功</returns>
        public bool Create(TOaMessageInfoDeptVo tOaMessageInfoDept)
        {
            string strSQL = SqlHelper.BuildInsertExpress(tOaMessageInfoDept, TOaMessageInfoDeptVo.T_OA_MESSAGE_INFO_DEPT_TABLE);

            return(SqlHelper.ExecuteNonQuery(CommandType.Text, strSQL) > 0 ? true : false);
        }