Exemplo n.º 1
0
        /// <summary>
        /// 测试
        /// </summary>
        public void Test()
        {
            AkThresholdModel model = new AkThresholdModel()
            {
                DataDate        = "20180311",
                CreateTime      = "2018-03-12 15:03:04 111",
                UpdateTime      = "2018-03-12 15:03:04 111",
                ThresholdValue  = 10,
                PeriodNum       = 14,
                PeriodStartDate = "20180226",
                PeriodEndDate   = "20180311"
            };

            //AkThreshold akThreshold = new AkThreshold();
            //var ak1 = AkThreshold.GetThreshold();
            //var ak2 = AkThreshold.Save(model);


            AkRemindModel model1 = new AkRemindModel()
            {
                Tasktime = "2018-03-12 15:03:04 111",

                PeriodNum = 14,
                IsRemind  = 1,
                HasRemind = -1
            };

            AkRemind akRemind = new AkRemind();
            //var akRemind1 = akRemind.Insert(model1);
            //var akRemind2 = akRemind.ResetHasRemind(true, 1);
        }
Exemplo n.º 2
0
        /// <summary>
        /// 新增分线提醒记录
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public bool Save(AkRemindModel model)
        {
            object[] param = new object[] { this.tableName, model.Tasktime, model.IsRemind, model.HasRemind, model.PeriodNum };
            string   sql   = string.Format("insert into {0}(Tasktime,IsRemind,HasRemind,PeriodNum) " +
                                           @"VALUES('{1}',{2},{3},{4})", param);

            return(SqlServerHelper.Instance.ExecuteNonQuery(AkConfig.ConnCFCInStoreDB, sql) > 0 ? true : false);
        }
Exemplo n.º 3
0
        /// <summary>
        /// 获取最大id
        /// </summary>
        /// <returns></returns>
        public AkRemindModel GetNewData()
        {
            AkRemindModel mode = null;
            string        sql  = string.Format("select top (1) Id,IsRemind from {0} order by id desc", this.tableName);
            DataTable     dt   = SqlServerHelper.Instance.GetDataTable(AkConfig.ConnCFCInStoreDB, sql);

            if (dt != null && dt.Rows.Count > 0)
            {
                DataRow dr = dt.Rows[0];
                mode          = new AkRemindModel();
                mode.Id       = dr.Field <int>("Id");
                mode.IsRemind = dr.Field <int>("IsRemind");
            }
            return(mode);
        }
Exemplo n.º 4
0
        /// <summary>
        /// 回写:是否已分线
        /// 1.如果上一条记录已提醒分线,则进行回写(0 已分线,1 未分线)
        ///    如果上一条未提醒分线,则不会写
        /// 2.回写:已提醒分线
        ///    1).如果本次提醒分线,则回写 为:1(未分线)
        ///    2).如果本次未提醒分线,但是并未开两条线,则回写 为:1(未分线)
        ///    3).其它情况:则回写为:0(已分线)
        /// </summary>
        /// <param name="isRemind"></param>
        /// <param name="lineCount"></param>
        /// <returns></returns>
        public bool ResetHasRemind(bool isHealth)
        {
            //获取最大Id
            AkRemindModel model = GetNewData();

            if (model != null && model.IsRemind == 1)
            {
                object[] param = new object[] { this.tableName, isHealth ? 0 : 1, model.Id };
                string   sql   = string.Format("Update {0} set  " +
                                               "HasRemind    = {1} " +
                                               "where Id     = {2} ", param);
                return(SqlServerHelper.Instance.ExecuteNonQuery(AkConfig.ConnCFCInStoreDB, sql) > 0 ? true : false);
            }
            return(true);
        }
Exemplo n.º 5
0
        /// <summary>
        /// 分线提醒
        /// </summary>
        /// <returns></returns>
        public bool Remind()
        {
            bool remind   = false;
            bool isHealth = false;

            try
            {
                //@1.计算是否提醒分线
                remind = CalculateRemind(out isHealth);

                //@2.回填是否,已分线
                AkDaoHelper.Instance_Remind.ResetHasRemind(isHealth);

                AkThresholdModel thresholdModel = AkDaoHelper.Instance_Threshold.GetNewThreshold();

                //@3.新增提醒记录
                AkRemindModel model = new AkRemindModel()
                {
                    Tasktime          = DateTime.Now.ToLongTime(),
                    BreakFastValue    = thresholdModel.BreakFastValue,
                    LunchValue        = thresholdModel.LunchValue,
                    AfternoonTeaValue = thresholdModel.AfternoonTeaValue,
                    SupperValue       = thresholdModel.SupperValue,
                    PeriodNum         = AkConfig.PeriodNum,
                    IsRemind          = remind ? 1 : 0,
                    HasRemind         = -1
                };
                bool success = AkDaoHelper.Instance_Remind.Save(model);
            }
            catch (Exception er)
            {
                LogHelper.Error(typeof(AkRemind) + ".Remind Exception error=", er.ToString());
            }

            //Random random = new Random();
            //int r = random.Next(100);
            //if (r % 3 == 0)
            //{
            //    remind = true;
            //}
            //else
            //{
            //    remind = false;
            //}
            return(remind);
        }