Adisyon açılasına göre değildi verilen siparişe göre renk değiştire bilirmiyiz mesela müşteri geldi 2 cay istedi 20 dk geçti siparişi alalı 20 dk hic hareket olmadığı için renk kırmızı olsun tekrar sipariş girince kendi rengine dönsün gibi…
omerfu gönderiniz sipariş süresine değil masa süresine bağlı entity state duration minutes masa zamanını veriyor ben son verilen sipariş süresini demek istemiştim;
Sorunu çözdüm yine de teşekkürler.
Sonuç:
Çözümü:
- Yönetim > Otomasyon > Komutlar, Penceresinden yeni bir komut oluşturup ismini timer yapın denetçi adınıda timer yapın sonra kod kısmına verdiğim kodu ekleyin
Kod
function parcala(parse){
var time = "";
var hour,minute,seconds;
if(parse.indexOf(',') !== -1){
time = (parse.split(','))[0];
}else{
time = parse;
}
var simdi = new Date();
var gun = (simdi.getDate()).toString();
var ay = (simdi.getMonth()).toString();
var yil = simdi.getFullYear().toString();
var saat,dakika,saniye;
saat = (time.split(':'))[0];
dakika = (time.split(':'))[1];
saniye = (time.split(':'))[2];
var fark = zamanFarki(yil,ay,gun,saat,dakika,saniye.slice(0,2));
return fark;
}
function zamanFarki( yil,ay,gun,saat,dakika,saniye )
{
var datetime = new Date(yil,ay,gun,saat,dakika,saniye).getTime();
var now = new Date().getTime();
if( isNaN(datetime) )
{
return "";
}
if (datetime < now) {
var milisec_diff = now - datetime;
}else{
var milisec_diff = datetime - now;
}
var days = Math.floor(milisec_diff / 1000000 / 60 / (60 * 24));
var date_diff = new Date( milisec_diff + (3600000*(-3)));
return date_diff;
}
function trTime(parse){
var date_diff = parcala(parse);
var tr = "";
tr += "En son "
tr += date_diff.getHours() > 0 ? date_diff.getHours() + " Saat<br/>" : "";
tr += date_diff.getMinutes() > 0 ? date_diff.getMinutes() + " Dakika<br/>" : "";
tr += date_diff.getSeconds() > 0 ? date_diff.getSeconds() + " Saniye Önce<br/>" : "";
return tr;
}
function timeToColor(parse){
var fark = parcala(parse);
var tDakika = fark.getMinutes() + (fark.getHours() * 60) + Math.floor((fark.getSeconds() / 60));
var renk = "";
if(tDakika >= 0)
renk = "#009432";
if(tDakika >= 5)
renk = "#0652DD";
if(tDakika >= 10)
renk = "#D980FA";
if(tDakika >= 15)
renk = "#FFC312";
if(tDakika >= 20)
renk = "#EE5A24";
if(tDakika >= 25)
renk = "#EA2027";
return renk.toLowerCase();
}
function lastOrder(parse){
var fark = parcala(parse);
var tDakika = fark.getMinutes() + (fark.getHours() * 60) + Math.floor((fark.getSeconds() / 60));
return tDakika;
}
- Yönetim > Ayarlar> Durumlar> Yeni Siparişler, Penceresinden durumu düzenleyin resim ve kod aşağıdadır.
Durum
<background {CALL:timer.timeToColor('{REPORT ORDER DETAILS:O.Time.desc: (TEN.Masalar=$1)}')}></background>
<bold><color black>$1</color>-<color white>{REPORT TICKET DETAILS:T.RemainingAmount: (TEN.Masalar=$1) and T.RemainingAmount>0} ₺</color></bold><br/>{ENTITY STATE MINUTES:Status} Dakika
<br/>{REPORT TICKET DETAILS:T.User:(TEN.Masalar=$1) and T.RemainingAmount>0}<br/>
<color white>{CALL:timer.trTime('{REPORT ORDER DETAILS:O.Time.desc: (TEN.Masalar=$1)}')}</color>
En son masanın sipariş süresine göre renk alması aşağıda bulunmaktadır. Masa zamanına göre renkleri değiştirebilirsiniz veya süreleri arttırabilir azaltabilirsiniz ben 30dk için 5er dklık değişimler uyguladım.
if(tDakika >= 0)
renk = "#009432";
if(tDakika >= 5)
renk = "#0652DD";
if(tDakika >= 10)
renk = "#D980FA";
if(tDakika >= 15)
renk = "#FFC312";
if(tDakika >= 20)
renk = "#EE5A24";
if(tDakika >= 25)
renk = "#EA2027";
Bu alanı istediğiniz gibi uzaltıp kısaltabilirsiniz renkleri hex colors diye google da arattığınızda bulabilirsiniz.
durumlar>yeni siparişler kısmına yazdığınız kodu merak ettim
Yukarıda Paylastım kodu ama…
{REPORT TICKET DETAILS:T.User:(TEN.Masalar=$1) and T.RemainingAmount>0}
şunu T.RemainingAmount>0 sorgusu yapmadan son sıpariş giren kişiyi çekemez miyiz?
function getColor(minutes){
if(minutes > 120)
return ‘#ff0000’;
if(minutes > 116)
return ‘#ff3200’;
if(minutes > 112)
return ‘#ff4b00’;
if(minutes > 108)
return ‘#ff6400’;
if(minutes > 104)
return ‘#ff7d00’;
if(minutes > 100)
return ‘#ff9600’;
if(minutes > 96)
return ‘#ffaf00’;
if(minutes > 92)
return ‘#ffc800’;
if(minutes > 88)
return ‘#ffe100’;
if(minutes > 84)
return ‘#ffff00’;
if(minutes > 80)
return ‘#e1c800’;
if(minutes > 76)
return ‘#c8ff00’;
if(minutes > 72)
return ‘#afff00’;
if(minutes > 68)
return ‘#96ff00’;
if(minutes > 64)
return ‘#7dff00’;
if(minutes > 60)
return ‘#64ff00’;
if(minutes > 56)
return ‘#4bff00’;
if(minutes > 52)
return ‘#32ff00’;
if(minutes > 48)
return ‘#19ff00’;
if(minutes > 44)
return ‘#00ff00’;
if(minutes > 40)
return ‘#00ff19’;
if(minutes > 36)
return ‘#00ff32’;
if(minutes > 32)
return ‘#00ff4b’;
if(minutes > 28)
return ‘#00ff64’;
if(minutes > 24)
return ‘#00ff7d’;
if(minutes > 20)
return ‘#00ff96’;
if(minutes > 16)
return ‘#00ffaf’;
if(minutes > 12)
return ‘#00ffc8’;
if(minutes > 8)
return ‘#00ffe1’;
if(minutes > 4)
return ‘#00ffff’;
return ‘#0032ff’;
}
Uğraşa uğraşa şöyle birşey geliştirdim…
4dk da bi Koyu mavi’den başlayıp… Kıpkırmızıya doğru ilerliyor…
empire işlemleri dikkatlice kopyala yapıştır yapmama rağmen olmuyor.yardımcı olabilirmisiniz?
Nerede takıldınız bana AnyDesk verin özelden bakalım
hocam function kodunu paylaşmışsın ama asıl gereken durumlarda ki yeni siparişler alanına yazılacak olan kod. o kodu paylaşmayı sanırım unuttun.
son sipariş zamanını aldığın kodu paylaşabilir misin?