Как предупредить пользователя, если расписание уже установлено на день? - PullRequest
0 голосов
/ 24 мая 2018

Здесь я использую jQuery, чтобы предупредить пользователя, если он / она хочет добавить расписание на определенное время, но это время уже существует в БД.Предположим, давайте возьмем пример этого: User имеет расписание на Monday, равное 8:00AM to 10:00AM, и есть другое расписание того же пользователя: 1:00PM to 3:00PM, но если пользователь хочет добавить другое время PM, например 1:00PM to 4:00PM или 1:30PM to 4:00PM, затем система сначала проверяет, существует ли время между ними, затем она выдаст предупреждение.Все это делается в golang api, тогда в Jquery есть небольшая проблема: я извлекаю все данные из моего api, но, упорядочивая их, как я сказал выше, 1:00PM to 3:00PM, если пользователь захочет добавить другое расписание, например 1:30PM to 4:00PM, тогдапокажите и другие времена, например, 8:00AM to 10:00AM, почему ниже показан код, который я использую: -

for(var m = 0; m< timearray.length; m++){
        for (var l = 0; l < array_time.length; l++) {
           if (array_time[l].start_time == timearray[m].start_time && array_time[l].end_time == timearray[m].end_time) {
                console.log("hello 1")
                result_dates.push(convertTime24to12(secondsTimeSpanToHMS(timearray[m].start_time))+" "+convertTime24to12(secondsTimeSpanToHMS(timearray[m].end_time)));
                }
                if (array_time[l].start_time < timearray[m].start_time && array_time[l].end_time == timearray[m].end_time) {
                    console.log("hello 2")
                    result_dates.push(convertTime24to12(secondsTimeSpanToHMS(timearray[m].start_time))+" "+convertTime24to12(secondsTimeSpanToHMS(timearray[m].end_time)));
                }
                if (array_time[l].start_time == timearray[m].start_time && array_time[l].end_time > timearray[m].end_time) {
                    console.log("hello 3")
                    result_dates.push(convertTime24to12(secondsTimeSpanToHMS(timearray[m].start_time))+" "+convertTime24to12(secondsTimeSpanToHMS(timearray[m].end_time)));
                }
                if (array_time[l].start_time < timearray[m].start_time && array_time[l].end_time > timearray[m].end_time) {
                    console.log("hello 4")
                    result_dates.push(convertTime24to12(secondsTimeSpanToHMS(timearray[m].start_time))+" "+convertTime24to12(secondsTimeSpanToHMS(timearray[m].end_time)));
                }
                if (array_time[l].start_time > timearray[m].start_time && array_time[l].end_time == timearray[m].end_time){ 
                    console.log("hello 5")
                    result_dates.push(convertTime24to12(secondsTimeSpanToHMS(timearray[m].start_time))+" "+convertTime24to12(secondsTimeSpanToHMS(timearray[m].end_time)));
                }
                if (array_time[l].start_time > timearray[m].start_time || array_time[l].end_time > timearray[m].end_time){ 
                    for (var n = timearray[m].start_time; n < timearray[m].end_time; n++) {
                        if (timearray[m].start_time == array_time[l].start_time) {
                            console.log("hello 6")
                            result_dates.push(convertTime24to12(secondsTimeSpanToHMS(timearray[m].start_time))+" "+convertTime24to12(secondsTimeSpanToHMS(timearray[m].end_time)));
                        }
                    }
                }
       }
    }   
 }

Здесь timearray - это массив, в котором установлено и запланировано времяarray_time время, которое пользователь хочет сохранить в базе данных.

  • В первом состоянии он проверяет, совпадают ли время начала и время окончания, затем выполняется.

  • Во втором состоянии, если время начала меньше, чем существующее время, а время окончания равно существующему времени окончания, то это будет выполнено.

  • В третьем условии, если время окончания больше, чем существующее время окончания, и время начала такое же, тогда оно будет выполнено.

  • В четвертом условии, если время начала меньше, чем существующееВремя начала и время окончания больше, чем существующее время окончания, тогда это будет выполнено.

  • В пятом состоянии он проверит, что если время начала меньше существующего времени начала и время окончания остается тем же, то это будет выполнено.

  • Не работает должным образом : - В этом случае, если пользователь добавляет время запуска, например, "1:30PM to 4:00PM", оно не будет работать должным образом, оно также будет выдавать данные времени "8:00AM to 10:00AM".Что я должен применить к нему, что он покажет только время между "1:00PM to 3:00PM".

Может кто-нибудь, пожалуйста, помогите мне решить эту проблему.Спасибо.Надеюсь, вы поймете, что я хочу сказать.

1 Ответ

0 голосов
/ 25 мая 2018

Шестое утверждение будет таким: -

if (array_time[l].start_time >= timearray[m].start_time &&
   array_time[l].start_time <= timearray[m].end_time && 
   array_time[l].end_time > timearray[m].end_time) {
//do stuff 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...