/// <summary>
        /// 用户信息更新或者插入
        /// </summary>
        /// <param name="model">用户信息</param>
        /// <returns>更新成功与否</returns>
        public static bool ModifyUserInfo(UserInfoModel model)
        {

            //获取登陆用户信息
            UserInfoUtil userInfo = (UserInfoUtil)SessionUtil.Session["UserInfo"];
            //设置公司代码
            model.CompanyCD = userInfo.CompanyCD;
            //定义返回变量
            bool isSucc = false;
            //获取登陆用户ID
            string loginUserID = ((UserInfoUtil)SessionUtil.Session["UserInfo"]).UserID; //待修改
            //string loginUserID = "admin";
            /* 
             * 定义日志内容变量 
             * 增删改相关的日志,需要输出操作日志,该类型日志插入到数据库
             * 其他的 如出现异常时,需要输出系统日志,该类型日志保存到日志文件
             */
            //操作日志
            LogInfoModel logModel = InitLogInfo(model.UserID);
            if (model.IsInsert)
            {
                try
                {
                    //设置操作日志类型 新建
                    logModel.ObjectName = ConstUtil.CODING_RULE_TABLE_UserInfo;//操作对象
                    logModel.Element = ConstUtil.LOG_PROCESS_INSERT;
                    //执行插入操作
                    isSucc = UserInfoDBHelper.ModifyUserInfo(model, loginUserID); ;
                }
                catch (Exception ex)
                {
                    //输出日志
                    WriteSystemLog(userInfo, ex);
                }
            }
            else
            {
                try
                {
                    //设置操作日志类型 修改
                    logModel.ObjectName = ConstUtil.CODING_RULE_TABLE_UserInfo;//操作对象
                    logModel.Element = ConstUtil.LOG_PROCESS_UPDATE;
                    //执行更新操作
                    isSucc = UserInfoDBHelper.ModifyUserInfo(model, loginUserID); ;
                }
                catch (Exception ex)
                {
                    //输出日志
                    WriteSystemLog(userInfo, ex);
                }
            }
              //更新成功时,删除原来文件
            if (isSucc)
            {
                logModel.Remark = ConstUtil.LOG_PROCESS_SUCCESS;
            }
            //更新不成功
            else
            {
                //设置操作成功标识 
                logModel.Remark = ConstUtil.LOG_PROCESS_FAILED;

            }
            //登陆日志
            LogDBHelper.InsertLog(logModel);
            return isSucc;



        }
        /// <summary>
        /// 获取用户信息
        /// </summary>
        /// <param name="userID">用户ID</param>
        /// <param name="companyCD">公司代码</param>
        /// <returns>用户信息</returns>
        public static DataTable GetUserInfo(UserInfoModel model, int pageIndex, int pageCount, string OrderBy, ref int totalCount)
        {
            //SQL拼写
            string companyCD = ((UserInfoUtil)SessionUtil.Session["UserInfo"]).CompanyCD;

            string sql = "select   ISNULL(IsHardValidate,1) AS IsHardValidate, isnull(UserID,'')as UserID,'' as UserName,isnull(IsRoot,0) as IsRoot,isnull(LastLoginTime,'') as LastLoginTime,"
                + "   isnull( CONVERT(CHAR(19), OpenDate, 120),'') as OpenDate ,"
                + " isnull( CONVERT(CHAR(10), CloseDate, 23),'') as CloseDate ,"
                + "Case WHEN LockFlag = '1' THEN '是' ELSE '否' END AS LockFlag ,Case WHEN UsedStatus = '1' THEN '启用' ELSE '停用' END AS UsedStatus,isnull( CONVERT(CHAR(19), ModifiedDate, 120),'') as ModifiedDate,ModifiedUserID,isnull(remark,'')as remark FROM officedba.UserInfo WHERE CompanyCD = '" + companyCD + "' and IsRoot!='1'";
            if (!string.IsNullOrEmpty(model.UserID))
            {
                sql += " AND UserID LIKE @UserID";
            }
            if (!string.IsNullOrEmpty(model.LockFlag))
            {
                if (model.LockFlag == "1")
                {
                    sql += " AND LockFlag = '1'";
                }
                else
                {
                    sql += " AND LockFlag = '0'";
                }
            }

            if (model.EmployeeID != 0)
            {
                sql += " AND EmployeeID = @EmployeeID";
            }
            //开始时间输入的场合,添加为条件
            if (model.OpenDate != null && model.CloseDate != null)
            {
                sql += " AND OpenDate >= @OpenDate  AND CloseDate<=@CloseDate ";
            }
            else
            {
                if (model.OpenDate != null)
                {
                    sql += " AND OpenDate=@OpenDate";
                }
                //结束时间输入的场合,添加为条件 
                if (model.CloseDate != null)
                {
                    sql += " AND CloseDate=@CloseDate";
                }
            }
            if (model.IsHardValidate != null)
            {
                if (model.IsHardValidate == "1")
                    sql += " AND ( IsHardValidate='1' OR IsHardValidate IS NULL  )";
                else
                    sql += "AND IsHardValidate='0' "; 
            }

           
            SqlParameter[] param = new SqlParameter[5];
            param[0] = SqlHelper.GetParameter("@CompanyCD", companyCD);
            param[1] = SqlHelper.GetParameter("@UserID", "%" + model.UserID + "%");
            param[2] = SqlHelper.GetParameter("@EmployeeID", model.EmployeeID);
            param[3] = SqlHelper.GetParameter("@OpenDate", model.OpenDate == null
                                         ? SqlDateTime.Null
                                         : SqlDateTime.Parse(model.OpenDate.ToString()));
            param[4] = SqlHelper.GetParameter("@CloseDate", model.CloseDate == null
                                         ? SqlDateTime.Null
                                         : SqlDateTime.Parse(model.CloseDate.ToString()));
            DataTable dt = SqlHelper.CreateSqlByPageExcuteSql(sql.ToString(), pageIndex, pageCount, OrderBy, param, ref totalCount);
            return dt;
        }
 /// <summary>
 /// 获取用户信息
 /// </summary>
 /// <param name="userID">用户ID</param>
 /// <param name="companyCD">公司代码</param>
 /// <returns>用户信息</returns>
 public static DataTable GetUserInfo(UserInfoModel model, int pageIndex, int pageCount, string OrderBy, ref int totalCount)
 {
     return UserInfoDBHelper.GetUserInfo(model,pageIndex, pageCount, OrderBy, ref totalCount);
 }
        /// <summary>
        /// 用户信息更新或者插入
        /// </summary>
        /// <param name="model">用户信息</param>
        /// <param name="loginUserID">登陆系统的用户ID</param>
        /// <returns>更新成功与否</returns>
        public static bool ModifyUserInfo(UserInfoModel model, string loginUserID)
        {
            //SQL拼写
            StringBuilder sql = new StringBuilder();
            //追加的场合
            if (model.IsInsert)
            {
                sql.AppendLine("INSERT INTO officedba.UserInfo");
                sql.AppendLine("		(CompanyCD      ");
                sql.AppendLine("		,UserID         ");
              // sql.AppendLine("		,UserName       ");
                sql.AppendLine("		,password       ");
                sql.AppendLine("		,LockFlag       ");
                sql.AppendLine("		,EmployeeID       ");
                sql.AppendLine("		,UsedStatus     ");
                sql.AppendLine("		,OpenDate       ");
                sql.AppendLine("		,CloseDate      ");
                sql.AppendLine("		,ModifiedDate   ");
                sql.AppendLine("		,ModifiedUserID ");
                sql.AppendLine("		,remark      ");
                sql.AppendLine(",IsHardValidate)");
                sql.AppendLine("VALUES                  ");
                sql.AppendLine("		(@CompanyCD     ");
                sql.AppendLine("		,@UserID        ");
           //     sql.AppendLine("		,@UserName      ");
                sql.AppendLine("		,@password      ");
                sql.AppendLine("		,@LockFlag      ");
                sql.AppendLine("		,@EmployeeID      ");
                sql.AppendLine("		,@UsedStatus      ");
                sql.AppendLine("		,@OpenDate      ");
                sql.AppendLine("		,@CloseDate     ");
                sql.AppendLine("		,@ModifiedDate  ");
                sql.AppendLine("		,@ModifiedUserID");
                sql.AppendLine("		,@remark       ");
                sql.AppendLine(",@IsHardValidate)");
            }
            //更新的场合
            else
            {
                sql.AppendLine("UPDATE officedba.UserInfo		     ");
                sql.AppendLine("SET                                      ");
             //   sql.AppendLine("		UserName = @UserName             ");
                sql.AppendLine("		LockFlag = @LockFlag            ");
                sql.AppendLine("		,EmployeeID = @EmployeeID        ");
                sql.AppendLine("		,UsedStatus = @UsedStatus        ");
                sql.AppendLine("		,OpenDate = @OpenDate            ");
                sql.AppendLine("		,CloseDate = @CloseDate          ");
                sql.AppendLine("		,ModifiedDate = @ModifiedDate    ");
                sql.AppendLine("		,ModifiedUserID = @ModifiedUserID");
                sql.AppendLine("		,remark = @remark ,IsHardValidate=@IsHardValidate               ");
                sql.AppendLine("WHERE                                    ");
                sql.AppendLine("		UserID = @UserID                 ");
                sql.AppendLine("		AND CompanyCD = @CompanyCD       ");
            }
            //设置参数
            SqlParameter[] param;
            if (model.IsInsert){
                param = new SqlParameter[12];
            }
            else
            {
                param = new SqlParameter[11];
            }
            
            param[0] = SqlHelper.GetParameter("@UserID", model.UserID);
            param[1] = SqlHelper.GetParameter("@CompanyCD", model.CompanyCD);
           // param[2] = SqlHelper.GetParameter("@UserName", model.UserName);
            param[2] = SqlHelper.GetParameter("@LockFlag", model.LockFlag);
            param[3] = SqlHelper.GetParameter("@OpenDate", model.OpenDate == null
                                         ? SqlDateTime.Null
                                         : SqlDateTime.Parse(model.OpenDate.ToString()));
            param[4] = SqlHelper.GetParameter("@CloseDate", model.CloseDate == null
                                         ? SqlDateTime.Null
                                         : SqlDateTime.Parse(model.CloseDate.ToString()));
            param[5] = SqlHelper.GetParameter("@ModifiedDate", DateTime.Now);
            param[6] = SqlHelper.GetParameter("@ModifiedUserID", loginUserID);
            param[7] = SqlHelper.GetParameter("@remark", model.Remark);
            param[8] = SqlHelper.GetParameter("@UsedStatus", model.UsedStatus);
            param[9] = SqlHelper.GetParameter("@EmployeeID", model.EmployeeID==null
                                           ?SqlInt32.Null
                                           :SqlInt32.Parse(model.EmployeeID .ToString()));
            param[10] = SqlHelper.GetParameter("@IsHardValidate", model.IsHardValidate);
            if (model.IsInsert)
            {
                param[11] = SqlHelper.GetParameter("@password", model.Password);
            }            

            SqlHelper.ExecuteTransSql(sql.ToString(), param);
            return SqlHelper.Result.OprateCount > 0 ? true : false;
        }