Отображение даты отгрузки по значению из характеристики
Добрый день.
Мы отгружаем каждый день(кроме сб и вс).
У поставщиков есть задержка по отгрузке, которую мы передаем на сайт значением характеристики по товару.
У меня есть скрипт, но почему-то он не корректно отображает исходя из условий:
Комплектация - кол-во дней, которое необходимо на отправкуКомплектация у поставщика приходит из 1с реквизитом товара
Мы не отправляем в субботу и воскресенье
"при комплектации = 0 или 1 до 9 утра(МСК), то ""Отгрузим сегодня после 16,00"",
при комплектации = 0 или 1 после 9 утра(МСК), то текущая дата + 1,
При комплектации > 2 показывать текущая дата + дней комплектации
Если полученный результат приходится на субботу или воскресенье, то следующий ближайший понедельник
Если результатприходится на следующий день(текущая дата + 1), то ""Отгрузим завтра"" + дата (хх.хх.хх)
если результат результатприходится через день (текущая дата + 2), то ""Отгрузим послезавтра"" + дата (хх.хх.хх)
Если результат результат другой(текущая дата + (х>2)), то ""Отгрузим"" + дата (хх.хх.хх)"
<script>
$(document).ready(function(){
//debugger; +date.getDate()+ '.' +moun+ '.' +date.getFullYear()+ 'г.'
var date = new Date();
var old_day = date.getDate();
var moun = date.getMonth() + 1;
if (moun == 13) moun = 1;
{if $pr.features.kolichestvo_dney_komplektatsii > 1} date.setDate(date.getDate() + {$pr.features.kolichestvo_dney_komplektatsii}) {/if}
switch (date.getDay()){
case 5:{
if(date.getHours() > 9){
date.setDate(date.getDate() + 1);
var d_t = date.getDate();d_t = d_t - old_day;
$('.comment').html('Отгрузим <br> ' +date.getDate()+ '.' +moun+ '.' +date.getFullYear()+ 'г.').css('margin-left', '-90px');
}
else{
$('.comment').html('Отгрузим <br> сегодня после 16.00 <br> ' );
$('.comment').css('margin-left', '-164px');
}
} break;
case 6:{
date.setDate(date.getDate() + 1);
var d_t = date.getDate();d_t = d_t - old_day;
if(d_t == 1) var tex = 'завтра ';
else if(d_t == 2){
var tex = 'послезавтра <br> ';
}
else var tex = '';
$('.comment').html('Отгрузим <br> ' +tex+ +date.getDate()+ '.' +moun+ '.' +date.getFullYear()+ 'г.');
} break;
case 0:{
date.setDate(date.getDate() + 1);
var d_t = date.getDate();d_t = d_t - old_day;
if(d_t == 1) var tex = 'завтра ';
else if(d_t == 2){
var tex = 'послезавтра <br>';
}
else var tex = '';
$('.comment').html('Отгрузим <br> ' +tex+ +date.getDate()+ '.' +moun+ '.' +date.getFullYear()+ 'г.');
} break;
default:{
if(date.getHours() > 9){
date.setDate(date.getDate() + 1);
var d_t = date.getDate();d_t = d_t - old_day;
if(d_t == 1) var tex = 'завтра ';
else if(d_t == 2){
var tex = 'послезавтра <br> ';
}
else var tex = '';
$('.comment').html('Отгрузим <br> ' +tex+ ' ' +date.getDate()+ '.' +moun+ '.' +date.getFullYear()+ 'г.');
}
else{
{if $pr.features.kolichestvo_dney_komplektatsii < 2}
$('.comment').html('Отгрузим <br> сегодня после 16.00 <br> ');
$('.comment').css('margin-left', '-164px');
{else}
var d_t = date.getDate();d_t = d_t - old_day;
if(d_t == 1) var tex = 'завтра ';
else if(d_t == 2){
var tex = 'послезавтра <br> ';
}
else var tex = '';
$('.comment').html('Отгрузим <br> ' +tex+ +date.getDate()+ '.' +moun+ '.' +date.getFullYear()+ 'г.');
{/if}
}
}
}
})
</script>
{else}
<div style="float: right">
<span class="comment" style="margin-left: -160px;margin-top: -33px;text-align: center;border: 1px solid;padding: 5px;z-index: 60;position: absolute;color: #e7b95c;font-weight: bold;">отгрузим по <br>поступлению на склад</span>
</div>
{/if}
1. В чем причина не корректного расчета исходя из условий, которые описаны выше?
2. + 3. Нет.