搜索
 找回密码
 立即注册

简单一步 , 微信登陆

每周定时事件设置冲突的问题调试

作者:icezhou | 时间:2016-7-13 17:18:01 | 阅读:4301| 只看该作者
问题描述:
每周事件设置(weekly)有问题例如:用户选择下周一(weekly)23:00-23:30保存产生一个event ,当再次另一事件下周一(weekly)23:40-00:30,机器显示与之前设置的节目冲突的问题

修改方法:
修改计算每周事件的事件的算法,如下:
static MS_BOOL _BK_GetWeeklyMin(MS_S8 s8SWeekDay1, MS_S8 s8EWeekDay1, MS_S8 s8SWeekDay2, MS_S8 s8EWeekDay2)
{
    if (s8SWeekDay1 != s8EWeekDay1)
    {
        if (s8SWeekDay2 != s8EWeekDay2)
        {
            if (s8SWeekDay1 != s8SWeekDay2)
            {
                if (s8SWeekDay1 == s8EWeekDay2)
                {
                    s_u16EMin2 += 24*60;
                    s_u16SMin1 += 24*60;
                    s_u16EMin1 += 2*24*60;
                    return TRUE;
                }
                if (s8EWeekDay1 == s8SWeekDay2)
                {
                    s_u16SMin2 +=24*60;
                    s_u16EMin1 +=24*60;
                    s_u16EMin2 +=2*24*60;
                    return TRUE;
                }
                return FALSE;
            }
            return TRUE;
        }
        if (s8SWeekDay1 == s8SWeekDay2)
        {
            s_u16EMin1 += 24 * 60;
            return TRUE;
        }
        if (s8EWeekDay1 == s8SWeekDay2)
        {
            s_u16EMin1 +=24*60;
            s_u16SMin2 +=24*60;;
            s_u16EMin2 +=24*60;
            return TRUE;
        }
        return FALSE;
    }
    if (s8SWeekDay2 != s8EWeekDay2)
    {
        if (s8SWeekDay1 == s8SWeekDay2)
        {
            s_u16EMin2 += 24 * 60;
            return TRUE;
        }
        if (s8SWeekDay1 == s8EWeekDay2)
        {
            s_u16EMin2 += 24*60;
            s_u16SMin1 +=24*60;
            s_u16EMin1 +=24*60;
            return TRUE;
        }
        return FALSE;
    }
    return s8SWeekDay1 == s8SWeekDay2;
}

收藏
收藏0
分享
分享
点赞
点赞0
反对
反对0
该会员没有填写今日想说内容.
回复

使用道具 举报

大神点评1

沙发#
bean.yang 发表于:2016-7-15 12:37:03
技术分享,赞
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册
手机版