private List <RestDate> GetRestDateListByUserId(string pBeginDate, int pUserId)
        {
            NetRestDate _net = new NetRestDate();
            DataSet     _ds  = _net.GetRestDateDataSet(pBeginDate, string.Empty, string.Empty, pUserId);

            if (_ds.Tables == null || _ds.Tables.Count == 0)
            {
                return(null);
            }
            int _count = _ds.Tables[0].Rows.Count;

            List <RestDate> _restDateList = new List <RestDate>();

            for (int i = 0; i < _count; i++)
            {
                RestDate _rest = new RestDate();
                _rest.Rest_Date  = Convert.ToDateTime(_ds.Tables[0].Rows[i]["RestDate"]);
                _rest.RestDetail = _ds.Tables[0].Rows[i]["RestDetail"].ToString();
                _restDateList.Add(_rest);
            }
            return(_restDateList);
        }
        /// <summary>
        /// 根据开始和结束日期,用户Id,计算未写日志的日期列表
        /// </summary>
        /// <param name="pBeginTime"></param>
        /// <param name="pEndTime"></param>
        /// <param name="pUserId"></param>
        /// <returns></returns>
        public List <DateTime> GetNoWriteDateList(string pBeginTime, string pEndTime, int pUserId)
        {
            NetRestDate _netRestDate  = new NetRestDate();
            DataSet     _restDateList = _netRestDate.GetRestDateDataSet(pBeginTime, pEndTime, pUserId, true);

            NetUserJournal _netJournal      = new NetUserJournal();
            DataSet        _journalDateList = _netJournal.GetNoWriteJournal(pBeginTime, pEndTime, pUserId);

            //DataTable _tableRestDate = null;
            //DataTable _tableJournal = null;
            //if (_restDateList!=null && _restDateList.Tables[0]!=null )
            //{
            //    _tableRestDate = _restDateList.Tables[0];
            //}
            //if (_journalDateList!=null && _journalDateList.Tables[0]!=null)
            //{
            //    _tableJournal = _journalDateList.Tables[0];
            //}

            DateTime        _begin           = Convert.ToDateTime(pBeginTime).Date;
            DateTime        _end             = Convert.ToDateTime(pEndTime).Date.AddDays(1);
            List <DateTime> _noWriteDateList = new List <DateTime>();

            while (_begin < _end)
            {
                if (this.IsInJournalDateList(_begin, _journalDateList) || this.IsRestDateList(_begin, _restDateList))
                {
                    _begin = _begin.AddDays(1);
                    continue;
                }
                else
                {
                    _noWriteDateList.Add(_begin);
                    _begin = _begin.AddDays(1);
                }
            }
            return(_noWriteDateList);
        }
        /// <summary>
        /// 根据开始日期和结束日期,用户Id,查询期间的所有日志日期,里面只有一个属性是writetime
        /// </summary>
        /// <param name="pBeginTime"></param>
        /// <param name="pEndTime"></param>
        /// <param name="pUserid"></param>
        /// <returns></returns>
        public DataSet GetNoWriteJournal(string pBeginTime, string pEndTime, int pUserid)
        {
            DataSet _ds     = new DataSet("Result");
            string  _sqlstr = string.Empty;

            OleDbParameter[] _param = new OleDbParameter[] {
                new OleDbParameter(Parm_BeginTime, OleDbType.VarChar, 50),
                new OleDbParameter(Parm_EndTime, OleDbType.VarChar, 50),
                new OleDbParameter(Parm_UserId, OleDbType.Integer)
            };
            _param[0].Value = NetRestDate.GetFullDateString(pBeginTime);
            _param[1].Value = NetRestDate.GetFullDateString(pEndTime);
            _param[2].Value = pUserid;
            try
            {
                _sqlstr = SQL_Select_SingleJournalByUserId;
                _ds     = AccessHelper.ExcuteDataSet(AccessHelper.CONN_STRING, CommandType.Text, _sqlstr, _param);
            }
            catch (Exception ex)
            {
            }
            return(_ds);
        }
        public List <string> GetNoWriteList(ref string beginTime)
        {
            DateTime    _begin       = Convert.ToDateTime(beginTime);
            int         i            = 30;
            NetRestDate _netRestDate = new NetRestDate();

            while (i > 0)
            {
                i--;

                int _dateCount = _netRestDate.GetRestDateCount(_begin.ToShortDateString());
                if (_dateCount > 0)
                {
                    _begin = _begin.AddDays(-1);
                }
                else
                {
                    break;
                }
            }
            beginTime = _begin.ToString("yyyy-MM-dd");


            DataSet       objDs     = new DataSet("reslut");
            List <string> _nameList = new List <string>();

            try
            {
                OleDbParameter[] parms = new OleDbParameter[] {
                    new OleDbParameter(Parm_WriteTime, OleDbType.VarChar)
                };
                parms[0].Value = _begin.ToString("yyyy-MM-dd");

                objDs = AccessHelper.ExcuteDataSet(AccessHelper.CONN_STRING, CommandType.Text, SQL_Select_JournalIsWC, parms);
            }
            catch (Exception ex)
            {
            }


            if (objDs == null || objDs.Tables.Count == 0)
            {
                return(null);
            }

            int _count = objDs.Tables[0].Rows.Count;

            if (_count > 0)
            {
                //NetRestDate _netRestDate = new NetRestDate();
                DataSet _nameDS = _netRestDate.GetUserIdDataSetByRestDate(_begin.ToString("yyyy-MM-dd"));

                for (int j = 0; j < _count; j++)
                {
                    string _userId = objDs.Tables[0].Rows[j]["userid"].ToString();

                    if (!this.IsNameInRestNameList(_userId, _nameDS))
                    {
                        _nameList.Add(objDs.Tables[0].Rows[j]["realName"].ToString());
                    }
                }
            }
            return(_nameList);
        }
        /// <summary>
        /// 将一个日期字符串,如果月份或日期小于10 ,将前面补一个0
        /// </summary>
        /// <param name="pDate"></param>
        /// <returns></returns>
        public static string GetFullDateString(string pDate)
        {
            NetRestDate _net = new NetRestDate();

            return(_net.GetFullDate(pDate));
        }