var randnumber = (Math.random() * (99999999 - 10000000)) + 10000000; var belegabrechnenaktiv = false; var grabatt = 0; var grabatteur = 0; var lkaddr = '0'; var waehrung = 'EUR'; var zahlungselzwang = false; var kassiererId = 0; var grabattSaved = 0; var steuerfrei = false; var ustid = ''; var saveCust = false; var logouttimer = null; var logouttimerabschluss = null; var is_chrome = navigator.userAgent.toLowerCase().indexOf('chrome') > -1; function calcrueckgeld() { var isTip = !!$('#tip:visible').length; var rueckgeld = ''; if(isTip) { var betrag2 = $('#betrag').val().replace(',', '.'); var tip = $('#tip').val().replace(',', '.'); if (!isNaN(betrag2) && !isNaN(tip)) { rueckgeld = (parseFloat(tip) + parseFloat(betrag2)).toFixed(2); if (rueckgeld < 0 || isNaN(rueckgeld)) { rueckgeld = ''; } else { rueckgeld = rueckgeld.replace('.', ','); } $('#zahlbetrag').val(rueckgeld); } } else { var betrag = $('#zahlbetrag').val().replace(',', '.'); var gezahlt = $('#gezahlt').val().replace(',', '.'); if (!isNaN(betrag) && !isNaN(gezahlt)) { rueckgeld = (parseFloat(gezahlt) - parseFloat(betrag)).toFixed(2); } if (rueckgeld < 0 || isNaN(rueckgeld)) { rueckgeld = ''; } else { rueckgeld = rueckgeld.replace('.', ','); } $('#rueckgeld').val(rueckgeld); } } function kontoauswahl() { $('#kontoauswahldiv').dialog('close'); var wert = $('#kontoauswahlwert').val(); var grund = $('#kontoauswahlgrund').val(); var typ = $('#kontoauswahltyp').val(); kontoauswahlbuchen(wert,grund,typ); } function zvtcheckConnection() { var zvtConnectionOk = false; $.ajax({ url: 'index.php?module=pos&action=list&cmd=checkconnection', type: 'POST', dataType: 'json', async:false, data: { uid: Math.floor((Math.random() * 90000000) + 10000000) }, success: function (jdata) { zvtConnectionOk = jdata.status; if(typeof jdata.message != 'undefined') { alert(jdata.message); } } }); return zvtConnectionOk; } function zvtsend() { var ptype = $('input[name=ptype]:checked').val(); var zahlbetrag = parseFloat($('#zahlbetrag').val().replace(',', '.')); var intervalzvt = setInterval(function(){ $.ajax({ url: 'index.php?module=pos&action=list&cmd=getpaymentstatus&uid=', type: 'POST', dataType: 'json', data: { }, success: function (jdata) { if(typeof jdata.intermediatestatus != 'undefined') { $('#zvtinfo').html(jdata.intermediatestatus); } } }); },1000); if(zahlbetrag > 0 && (ptype === 'ec' || ptype === 'kredit')) { $('#zvtinfo').html(''); $.ajax({ url: 'index.php?module=pos&action=list&cmd=updatetotals&uid=', type: 'POST', dataType: 'json', data: {total: zahlbetrag, uid: Math.floor((Math.random() * 90000000) + 10000000)}, success: function (jdata) { $('#zvtinfo').html(''); if(intervalzvt) { clearInterval(intervalzvt); } } }); } } function finsale_click() { var logouttimeabschluss = parseInt($('#logoutkas').data('logouttimeabschluss')); var ktype = $('input[name=ktype]:checked').val(); var ptype = $('input[name=ptype]:checked').val(); var totalAmount = $('#sutotal').text().replace(',', '.'); totalAmount = parseFloat(totalAmount); if (totalAmount < 0) { alert('Die Gesamtsumme darf nicht kleiner als 0,00 EUR sein.'); return false; } if ( ktype === 'sk' && $('#adresse').val().length == 0 ) { $("#skempty").dialog('open'); return false; } else if ( ktype === 'sk' && $('#adresse').val().length > 0 && !checkStammkunde($('#adresse').val(), kassiererId, totalAmount)) { alert('Stammkunde nicht korrekt.'); return false; } else if(ktype === 'lk' && !checkLaufkundschaft(kassiererId)) { alert('Es ist keine Adresse als Laufkundschaft eingetragen.'); return false; } else if(ktype === 'lk' && $('#loadlauf').data('checkamountthreshold') == '1' && totalAmount >= 200) { alert('Bei Summen größer als 200 EUR muss eine Kundenadresse angegeben werden'); return false; } if(ptype === 'ec' || ptype === 'kredit') { if($('tr.zvtrow').length) { $('#zvtinfo').html(''); $('tr.zvtrow').show(); } /*$.ajax({ url: 'index.php?module=pos&action=list&cmd=updatetotals&uid=', type: 'POST', dataType: 'json', data: {total: totalAmount,uid:Math.floor((Math.random() * 90000000) + 10000000)}, success: function (jdata) { } });*/ } else { if($('tr.zvtrow').length) { $('tr.zvtrow').hide(); } } if((ktype==='nk' && !$("#t_name").html()) || $('#wk > tbody > tr').length == 0) { $("#emptywarn").dialog('open'); } else if(zahlungselzwang && !$('#payment input[name=ptype]:checked').val()) { $('#zahlwarn').dialog('open'); } else { $("#gezahlt").val(''); $("#rueckgeld").val(''); $('#tip').val('0'); $("#finconf").dialog('open'); //$.post( "index.php?module=pos&action=display", { total: $('#sutotal').html() } ); $('#zahlbetrag').val($('#sutotal').html()); if(ptype==='bar') { $('tr.trbar').css('display',''); $('tr.trec').css('display','none'); $('table.numblock').css('display',''); $('#gezahlt').focus(); } else { if(ptype === 'ec' || ptype === 'kredit') { $('table.numblock').css('display',''); $('tr.trec').css('display',''); $('#tip').focus(); $('#betrag').val($('#sutotal').html()); } else { $('table.numblock').css('display','none'); $('#gezahlt').focus(); } $('tr.trbar').css('display','none'); var btn = $("#finconf").next().find('button').first().next(); if(btn !== null) { btn.focus(); setTimeout(function(){btn.focus();},50); $("#finconf").parent().find('*').on('keypress',function(event){ if (event.which == 13) { $("#finconfconf").dialog('close'); $('#artikelnummerprojekt').focus(); } }); } } } return false; } function kontoauswahlbuchen(wert,grund,typ) { if(typ === 'entnahme') { if(!grund) { $('#entnahme').prop('checked', false); alert('Sie müssen einen Grund eingeben. Entnahme wurde nicht gebucht.'); return; } randnumber = (Math.random() * (99999999 - 10000000)) + 10000000; var storeobj = {}; storeobj['kasid'] = $('#tabs-1').data('on'); storeobj['addr'] = {}; storeobj['addrid'] = ''; storeobj['wk'] = []; var nart = {}; nart['id'] = "entnahme"; nart['artikel'] = "entnahme"; nart['kurztext_de'] = 'Entnahme: ' + grund; nart['nummer'] = "entnahme"; nart['tax'] = '0'; nart['preis'] = wert; nart['amount'] = '1'; nart['rabatt'] = '0'; storeobj['wk'].push(nart); storeobj['ptype'] = "bar"; storeobj['rtype'] = "entnahme"; storeobj['inbem'] = $('#inbem').val(); storeobj['freit'] = $('#freit').val(); storeobj['grabatt'] = '0'; storeobj['grabatteur'] = '0'; storeobj['kassiererId'] = kassiererId; storeobj['randnumber'] = randnumber; var jsonString = JSON.stringify(storeobj); $.ajax({ url: 'index.php?module=pos&action=finsess', type: 'POST', dataType: 'json', data: { sessdata: jsonString}, success: function(jdata) { if(typeof jdata.error != 'undefined') { alert(jdata.error); }else{ $('#entconf').dialog('open'); } $('#artikelnummerprojekt').focus(); $('#entnahme').prop('checked', false); if(typeof reloadsite != 'undefined'){ reloadsite(); } } }); }else if(typ === 'einlage') { if(!grund) { $('#einlage').prop('checked', false); alert('Sie müssen einen Grund eingeben. Einlage wurde nicht gebucht.'); return; } randnumber = (Math.random() * (99999999 - 10000000)) + 10000000; var storeobj = {}; storeobj['kasid'] = $('#tabs-1').data('on'); storeobj['addr'] = {}; storeobj['addrid'] = ""; storeobj['wk'] = []; var nart = {}; nart['id'] = "einnahme"; nart['artikel'] = "einnahme"; nart['kurztext_de'] = 'Einlage: ' + grund; nart['nummer'] = "einnahme"; nart['tax'] = '0'; nart['preis'] = wert; nart['amount'] = '1'; nart['rabatt'] = '0'; storeobj['wk'].push(nart); storeobj['ptype'] = "bar"; storeobj['rtype'] = "einlage"; storeobj['inbem'] = $('#inbem').val(); storeobj['freit'] = $('#freit').val(); storeobj['grabatt'] = '0'; storeobj['grabatteur'] = '0'; storeobj['kassiererId'] = kassiererId; storeobj['randnumber'] = randnumber; var jsonString = JSON.stringify(storeobj); $.ajax({ url: 'index.php?module=pos&action=finsess', type: 'POST', dataType: 'json', data: { sessdata: jsonString}, success: function(jdata) { $('#einconf').dialog('open'); //$('#artikelnummerprojekt').focus(); $('#einlage').prop('checked', false); if(typeof reloadsite != 'undefined')reloadsite(); } }); } } function getKonto(el) { var grund = $(el).parents('tr').first().find('td').first().text(); if(grund+'' !== '') { $('#kontoauswahlgrund').val(grund); kontoauswahl(); } } function entnahmeclick(wert) { if($('#kontoauswahldiv').length > 0) { $('#kontoauswahltyp').val('entnahme'); $('#kontoauswahlwert').val(wert); $('#kontoauswahllegend').text('Betrag für Entnahme: ' + wert + ' EUR'); $('#kontoauswahldiv').dialog('open'); $('#kontoauswahlgrund').focus(); }else{ var grund = prompt('Entnahme(' + wert + ' EUR): Grund?'); kontoauswahlbuchen(wert, grund, 'entnahme'); } } function einlageclick(wert) { if($('#kontoauswahldiv').length > 0) { $('#kontoauswahltyp').val('einlage'); $('#kontoauswahlwert').val(wert); $('#kontoauswahllegend').text('Betrag für Einlage: ' + wert + ' EUR'); $('#kontoauswahldiv').dialog('open'); $('#kontoauswahlgrund').focus(); }else { var grund = prompt('Einlage(' + wert + ' EUR): Grund?'); kontoauswahlbuchen(wert, grund, 'einlage'); } } function checkLogoutTimeout() { if (logouttimer) { clearTimeout(logouttimer); } var logouttime = parseInt($('#logoutkas').data('logouttime')); if(logouttime > 0) { logouttimer = setTimeout(function () { if(kassiererId && !logouttimerabschluss) { $('#logoutkas').trigger('click'); } else{ if(kassiererId) { checkLogoutTimeout(); } } }, logouttime * 1000); } } $(document).ready(function(){ checkLogoutTimeout(); $('*').on('click',function() { checkLogoutTimeout(); }); $('*').on('keydown',function() { if(logouttimerabschluss) { clearTimeout(logouttimerabschluss); } checkLogoutTimeout(); }); $('input[name=ptype]').on('change',function() { var $trinkgeld = $('#trinkgeld'); if($trinkgeld !== undefined) { var eccredit = $($trinkgeld).data('eccredit'); var ptype = $('input[name=ptype]:checked').val(); if(typeof ptype == 'undefined') { ptype = ''; } if(typeof eccredit != 'undefined' && eccredit == '1') { if(ptype !== 'ec' && ptype !== 'kredit') { $($trinkgeld).prop('disabled', true); $($trinkgeld).toggleClass('grey', true); } else { $($trinkgeld).prop('disabled', false); $($trinkgeld).toggleClass('grey', false); } } } }); $('input[name=ptype]').first().trigger('change'); $('#grabatt').css({ display: 'none' }); // dialoge $("#storeconfconf, #entconf, #emptywarn, #zahlwarn, #einconf").dialog({ modal: true, bgiframe: true, closeOnEscape:false, autoOpen: false, buttons: { 'OK': function() { $(this).dialog('close'); $('#artikelnummerprojekt').focus(); } } }); $("#finconfconf").dialog({ modal: true, bgiframe: true, closeOnEscape:false, autoOpen: false, buttons: { 'OK': function() { $(this).dialog('close'); $('#artikelnummerprojekt').focus(); setAbschlusstimer(); } },open: function( event, ui ) { var btn = $(this).next().find('button').first(); if(btn !== null) { btn.focus(); setTimeout(function(){btn.focus();},50); $(this).parent().find('*').on('keypress',function(event){ if (event.which == 13) { $("#finconfconf").dialog('close'); $('#artikelnummerprojekt').focus(); setAbschlusstimer(); } }); } } }); $.ajax({ url: 'index.php?module=pos&action=list&cmd=getuserinfo', type: 'POST', dataType: 'json', data: {}, success: function(data) { if(data === 'admin'){ $("#kashin").dialog({ modal: true, bgiframe: true, closeOnEscape:false, autoOpen: false, width:"350px", dialogClass: "no-close", open: function () { $(this).off('submit').on('submit', function () { var kanr = $('#kanr2').val(); loginkas(kanr); $(this).dialog('close'); return false; }); }, buttons: { 'OK': function() { loginkas($('#kanr2').val()); $(this).dialog('close'); $('#artikelnummerprojekt').focus(); }, 'ABBRECHEN': function() { $(this).dialog('close'); window.location.href = 'index.php'; } } }); }else{ $("#kashin").dialog({ modal: true, bgiframe: true, closeOnEscape:false, autoOpen: false, dialogClass: "no-close", open: function () { $(this).off('submit').on('submit', function () { var kanr = $('#kanr2').val(); loginkas(kanr); $(this).dialog('close'); $('#artikelnummerprojekt').focus(); return false; }); }, buttons: { 'OK': function() { loginkas($('#kanr2').val()); $(this).dialog('close'); $('#artikelnummerprojekt').focus(); } } }); } }, beforeSend: function() { } }); $("#resetconf").dialog({ modal: true, bgiframe: true, closeOnEscape:false, autoOpen: false, buttons: { 'NEIN': function() { $(this).dialog('close'); }, 'JA': function() { storePOSSession("resetsess"); $(this).dialog('close'); $('#artikelnummerprojekt').focus(); } } }); $("#skempty").dialog({ modal: true, bgiframe: true, closeOnEscape:false, autoOpen: false, buttons: { 'OK': function() { $(this).dialog('close'); $('#artikelnummerprojekt').focus(); } } }); $("#finconf").dialog({ modal: true, minWidth:800, minHeight:400, bgiframe: true, closeOnEscape:false, autoOpen: false, buttons: { 'NEIN': function() { $(this).dialog('close'); $('#artikelnummerprojekt').focus(); }, 'JA': function() { var ptype = $('input[name=ptype]:checked').val(); if(ptype === 'bar') { var betrag = $('#zahlbetrag').val().replace(',','.'); var gezahlt = $('#gezahlt').val().replace(',','.'); if(gezahlt == '') { gezahlt = 0; } var rueckgeld = (parseFloat(gezahlt) - parseFloat(betrag)); if(rueckgeld < 0 || isNaN(gezahlt) || isNaN(rueckgeld)) { alert('Es wurde zu wenig eingezahlt - der Vorgang kann nicht abgeschlossen werden!'); return; } $.ajax({ url: '', dataType: 'json', async: false, data: { module: 'pos', action: 'loadkassstand', kassiererId: kassiererId }, success: function(jdata) { kontostand = parseFloat(jdata.kontostand); } }); if(kontostand < rueckgeld) { alert('Sie haben nicht ausreichend Rückgeld in der Kasse.'); return; } } if(ptype === 'ec' || ptype === 'kredit') { var tip = $('#tip').val().replace(',','.'); if(tip == '') { tip = 0; } else { tip = parseFloat(tip); } if(tip > 0) { var kontostand = 0; var konto = 0; $.ajax({ url: '', dataType: 'json', async: false, data: { module: 'pos', action: 'loadkassstand', kassiererId: kassiererId }, success: function(jdata) { kontostand = parseFloat(jdata.kontostand); konto = jdata.konto; } }); if(kontostand < tip) { if(konto == 0) { alert('Es ist kein Kassenbuch hinterlegt.'); return; } else { alert('Sie haben nicht ausreichend Bargeld in der Kasse.'); return; } } } if(tip < 0 || isNaN(tip)) { alert('Es wurde ein negatives Trinkgeld ausgewählt - der Vorgang kann nicht abgeschlossen werden!'); return; } } storePOSSession(belegabrechnenaktiv?'belegabrechnen':'finsess'); resetFields(); $(this).dialog('close'); } } }); resetFields(); // check for active session $.getJSON( '', { module: "pos", action: "checkkass" }).done(function( jdata ) { if(jdata.check!=='ERR') { kassiererId = jdata.kid; $('#kassiererId').val(kassiererId); kanr = jdata.kid; $('#tabs-1 input').removeAttr('disabled'); $('#tabs-1').data('on',kanr); lkaddr = jdata.lkadresse; // $('#logoutkas').show(); $('#loggedinkas').html(' ' + jdata.kname); $('#filiale').html(' ' + jdata.filiale); //$('#kanr').html(kanr); loadPOSSession(kanr); $('#artikelnummerprojekt').focus(); } else { $('#kashin').dialog('open'); } }); waehrung = $('#waehrung').html(); // felder sperren bis sich Kassierer anmeldet //$('#tabs-1 input').prop('disabled','disabled'); -- by bene, duke 29.03. $('#loadkass input').removeAttr('disabled'); $('#rabatt2').on('click',function() { var ggrabatt = prompt("Rabatt in %"); if(!ggrabatt) { ggrabatt = 0; } else if (ggrabatt > 100) { ggrabatt = 0; } grabattSaved = ggrabatt; $('#wk tbody .rabatt').val(ggrabatt); $('#grabatt').html(ggrabatt+'%'); grabatt = 0; $('#wk > tbody > tr').each(function() { updatearttotal($(this)); }); updatetotals(); grabatt = 0; }); // @todo $('#rabatteur').on('click',function() { grabatteur = prompt("Rabatt in " + waehrung); if(!grabatteur) { grabatteur = '0,00'; } grabatteur = parseFloat(grabatteur.replace(',','.')); if (grabattSaved != 0) { grabatt = 0; ggrabatt = grabattSaved; } $('#wk > tbody > tr').each(function() { updatearttotal($(this)); }); updatetotals(); grabatt = 0; }); $('#schublade').on('click',function() { $.ajax({ url: '', dataType: 'json', async: false, data: { module: 'pos', action: 'ladeoeffnen', kassiererId: kassiererId, rueckgeld: $('#rueckgeld').val() }, success: function(jdata) { //kontostand = jdata.kontostand; } }); $('#schublade').prop('checked', false); }); $('#einlage').on('click',function(){ var wert = prompt("Wert in " + waehrung + "?"); if(!wert || wert <= 0) { $('#einlage').prop('checked', false); return; } wert = parseFloat(wert.replace(',','.')); einlageclick(wert); /*$.getJSON( '', { module: "pos", action: "finsess", sessdata: jsonString }).done(function( jdata ) { $('#einconf').dialog('open'); //$('#artikelnummerprojekt').focus(); $('#einlage').prop('checked', false); if(typeof reloadsite != 'undefined')reloadsite(); });*/ }); $('#entnahme').on('click',function() { var wert = prompt("Wert in " + waehrung + "?"); if(!wert || wert <= 0) { $('#entnahme').prop('checked', false); return; } var kontostand = 0; $.ajax({ url: '', dataType: 'json', async: false, data: { module: 'pos', action: 'loadkassstand', kassiererId: kassiererId }, success: function(jdata) { kontostand = jdata.kontostand; } }); if (parseFloat(kontostand) < parseFloat(wert)) { alert('Sie haben nicht ausreichend Bargeld in der Kasse.'); $('#entnahme').prop('checked', false); return; } wert = parseFloat(wert.replace(',','.')); entnahmeclick(wert); /* $.getJSON( '', { module: "pos", action: "finsess", sessdata: jsonString }).done(function( jdata ) { $('#entconf').dialog('open'); $('#artikelnummerprojekt').focus(); $('#entnahme').prop('checked', false); if(typeof reloadsite != 'undefined')reloadsite(); });*/ }); $('#trinkgeld').on('click',function() { var eccredit = $(this).data('eccredit'); var ptype = $('input[name=ptype]:checked').val()+''; if(typeof ptype == 'undefined') { ptype = ''; } if(typeof eccredit != 'undefined' && eccredit) { if(ptype !== 'ec' && ptype !== 'kredit') { $(this).prop('checked', false); return; } } var wert = prompt("Wert in " + waehrung + "?"); if(!wert || wert <= 0) { $('#trinkgeld').prop('checked', false); $(this).prop('checked', false); return; } var kontostand = 0; $.ajax({ url: '', dataType: 'json', async: false, data: { module: 'pos', action: 'loadkassstand', kassiererId: kassiererId }, success: function(jdata) { kontostand = jdata.kontostand; } }); if (parseFloat(kontostand) < parseFloat(wert)) { alert('Sie haben nicht ausreichend Bargeld in der Kasse.'); $('#trinkgeld').prop('checked', false); return; } wert = parseFloat(wert.replace(',','.')); var grund = prompt('Trinkgeld(' + wert + ' EUR): Kunde?'); if(!grund) { $('#trinkgeld').prop('checked', false); alert('Sie müssen einen Grund eingeben. Trinkgeld wurde nicht gebucht.'); return; } randnumber = (Math.random() * (99999999 - 10000000)) + 10000000; var storeobj = {}; storeobj['kasid'] = $('#tabs-1').data('on'); storeobj['addr'] = {}; storeobj['addrid'] = ""; storeobj['wk'] = []; var nart = {}; nart['id'] = "entnahme"; nart['artikel'] = "entnahme"; nart['kurztext_de'] = 'Trinkgeld: ' + grund; nart['nummer'] = "entnahme"; nart['tax'] = '0'; nart['preis'] = wert; nart['amount'] = '1'; nart['rabatt'] = '0'; storeobj['wk'].push(nart); storeobj['ptype'] = ptype; storeobj['rtype'] = "entnahme"; storeobj['inbem'] = $('#inbem').val(); storeobj['freit'] = $('#freit').val(); storeobj['grabatt'] = '0'; storeobj['grabatteur'] = '0'; storeobj['kassiererId'] = kassiererId; storeobj['randnumber'] = randnumber; var jsonString = JSON.stringify(storeobj); $.ajax({ url: 'index.php?module=pos&action=finsess', type: 'POST', dataType: 'json', data: { sessdata: jsonString}, success: function(jdata) { if(typeof jdata.error != 'undefined') { alert(jdata.error); }else{ $('#entconf').dialog('open'); } $('#artikelnummerprojekt').focus(); $('#trinkgeld').prop('checked', false); }}); /*$.getJSON( '', { module: "pos", action: "finsess", sessdata: jsonString }).done(function( jdata ) { $('#entconf').dialog('open'); $('#artikelnummerprojekt').focus(); $('#trinkgeld').prop('checked', false); });*/ }); $('#abortsale').on('click',function() { $("#resetconf").dialog('open'); }); $('#finsale').on('click',function() { return finsale_click(); }); $('table.numblock').find('td').on('click',function(){ var nr = $(this).html() { var el = '#gezahlt'; if($('#tip:visible').length) { el = '#tip'; } if(nr != '') { if(nr === 'DEL' || nr === '↵') { $(el).val(''); calcrueckgeld(); $(el).focus(); }else if(nr == ','){ if($(el).val() != '' && ($(el).val().indexOf(',') == -1)) { $(el).val($(el).val()+''+nr); calcrueckgeld(); $(el).focus(); } }else if(nr == parseInt(nr)){ $(el).val($(el).val()+''+nr); calcrueckgeld(); $(el).focus(); }else{ $(el).val(''); calcrueckgeld(); $(el).focus(); } } } }); $('#storesale').on('click',function() { vorgangspeichern(); //storePOSSession('storesess'); return false; }); $('#loadkass').on('submit',function() { var kanr = $('#kanr').html(); if(!kanr) return false; loginkas(kanr); return false; }); $('#logoutkas').on('click',function() { resetFields(); logoutkas(); return false; }); $('#loadaddr').on('submit',function(event) { event.preventDefault(); var kunr = $('#adresse').val(); if(!kunr) return false; loadAddr(kunr); return false; }); $('#adresse').on('focus',function() { $('input[name=ktype]').prop('checked', false); $('input[name=ktype]').first().prop('checked',true); $('input[name=ktype]').first().attr('checked','checked'); var skInput = $('input[value="sk"]'); skInput.prop('checked', true); // $('input[name=ktype]').prop('checked', false); // $('input[name=ktype]').removeProp('checked'); // $('input[name=ktype][value=sk]').prop('checked',true); // $('input[value="sk"]').prop('checked', true); }); $('#adresse').on('focusout',function() { var kunr = $('#adresse').val(); if(!kunr) return false; loadAddr(kunr); }); $('input[name=ktype]').on('change',function() { var ktype = $(this).val(); $('.rechnungsadresse_container').find('#t_name').text(''); $('#adjcust').hide(); if(ktype==='lk' || ktype==='nk'){ $('#modalcont input[type=text]').val(''); $('#ob1 span').html(''); $('#adresse').val(''); } if (ktype === 'lk') { $('.rechnungsadresse_container').find('#t_name').text('Laufkundschaft'); // $('#adjcust').show(); } if(ktype==='nk'){ //tinyMCE.get('infoauftragserfassung_pos').setContent(''); $('.rechnungsadresse_container').find('#t_name').text(''); $('#modaloverlay').show(300); $('#adjcust').show(); } }); $('#adjcust').on('click',function() { $('#ob1 span').each(function(i,e) { var tid = $(this).prop('id').split('t_'); if (tid[1] !== 'typ' && tid[0] != '') { $('#'+tid[1]).val($(this).html()); } }); $('#modaloverlay').show(300); }); $('#storecust').on('click',function() { $('.mkErrors').remove(); if ($('#modalcont').find('input#name').val().length == 0) { if (!$('#modalcont').hasClass('mkerror')) { $('#modalcont').addClass('mkerror'); $('#modalcont').find('input#name').after('
Bitte Name angeben.
'); } return false; } $('#modalcont').removeClass('mkerror'); var storeobj = {}; storeobj['kassierer'] = kassiererId; storeobj['kundennummer'] = $('#adresse').val(); storeobj['addr'] = {}; $('#ob1 span').each(function(i,e) { var tid = $(this).prop('id').split('t_'); storeobj['addr'][tid[1]] = $('#'+tid[1]).val(); }); storeobj['addr']['infoauftragserfassung'] = $.base64Encode( $('#infoauftragserfassung_pos').val() ); $.ajax({ url: '', data: { module: 'pos', action: 'storecust', obj: storeobj }, dataType: 'json', beforeSend: function() { //App.loading.open(); }, success: function(data) { if (data.status == 1) { $('#adresse').val(data.kundennummer); //$('#loadaddr input[type="radio"]').prop('checked', false); //$('#loadaddr input[type="radio"]').removeAttr('checked'); //$('#loadaddr input[type="radio"]').first().prop('checked', true); $('input[name=ktype][value=sk]').prop('checked',true); $('input[name=ktype][value=sk]').attr('checked','checked'); loadAddr(data.kundennummer); $('#modaloverlay').hide(300); } else { // TODO: Fehlermeldungen? } //App.loading.close(); } }); /* $('#ob1 span').each(function(i,e) { var tid = $(this).prop('id').split('t_'); $(this).html($('#'+tid[1]).val()); }); */ saveCust = true; }); $('#xbutt, #abortcust').on('click',function() { $('#modaloverlay').hide(300); }); $('#typ').on('change',function() { var namein = $('#name').parent(); var nameinfo = namein.prev(); var ansprow = namein.parent().next(); if($(this).val() === 'firma') { nameinfo.html('Firmenname'); $('#ansprtit').show(); $('#ansprechpartner').show(); } else { nameinfo.html('Vor- und Nachname'); $('#ansprtit').hide(); $('#ansprechpartner').hide(); } }); $('#loadart').on('submit',function() { var adresseId = $('#adresse').val(); var artean = $('#artikelnummerprojekt').val(); artean = artean.split(' '); artean = artean[ 0 ]; if(!artean) return false; $.getJSON( '', { module: "pos", action: "loadart", artean: artean, kassenkennung: kassiererId, addrid: adresseId }).done(function( jdata ) { if(jdata.check) {alert('Artikel nicht gefunden'); $('#artikelnummerprojekt').val(''); return false; } //if(typeof jdata.rabattartikel != 'undefined' && jdata.rabattartikel == 1){alert('Rabattartikel sind nicht zulässig'); return false; } addarticle(jdata); var tabletbody = $('table#wk > tbody > tr').last(); checkseriennummern($(tabletbody).find('.amount')); $('#artikelnummerprojekt').val(''); }); return false; }); // @TODO: Chrome hat scheinbar probleme mit .prop() if (is_chrome) { //$('input[value="sk"]').attr('checked', ''); } //tinyMCEsetup(); $('#kontoauswahlgrund').on('keydown', function (event) { if (event.which == 13) { kontoauswahl(); }}); // Ende document.ready }); function checkLaufkundschaft(a_kassiererId) { var output; $.ajax({ url: '', async: false, data: { module: 'pos', action: 'list', cmd: 'checklaufkundschaft', kassierer: a_kassiererId }, dataType: 'json' }).done(function(jdata) { output = jdata; }); if (typeof output.status && output.status == true) { return true; } return false; } function checkStammkunde(a_kundennummer, a_kassiererId, totalAmount) { var output; $.ajax({ url: '', async: false, data: { module: 'pos', action: 'checkstammkunde', kundennummer: a_kundennummer, kassierer: a_kassiererId, amount: totalAmount }, dataType: 'json' }).done(function(jdata) { output = jdata; }); if (typeof output.status && output.status == true) { return true; } return false; } function loadAddr(kunr) { $.getJSON( '', { module: "pos", action: "loadaddr", kunr: kunr, kanr: kassiererId }).done(function( jdata ) { var ktype = $('input[name=ktype]:checked').val(); if(ktype==='sk' && (typeof jdata.check == 'undefined' || jdata.check!=='ERR')) { $.each(jdata, function(i, e) { $('#ob1 #t_'+i).html(e); $('#adjcust').show(); if (i === 'infoauftragserfassung') { $('#infoauftragserfassung_pos').val(e); if(e!='') { //tinyMCE.get('infoauftragserfassung_pos').setContent(e); } } else { $('#modalcont').find('#' + i).val(e); } if(i==='typ') { var namein = $('#name').parent(); var nameinfo = namein.prev(); if(e==='firma') nameinfo.html('Firmenname'); else nameinfo.html('Vor- und Nachname'); } }); // $('#inbem').val(jdata['infoauftragserfassung']); $('#artikelnummerprojekt').focus(); } else { $('#adresse').val(''); if(ktype==='sk') { alert('Kein Kunde gefunden'); } } }); } function addarticlestorno(jdata) { var pos = $('#stornotab table tbody').find('tr').length + 1; var html = ''+pos+''+jdata['artikel']+''+jdata['nummer']+''+jdata['amount']+''; if(typeof jdata['preis_genau'] != 'undefined') { html += ''; } if(typeof jdata['erloes'] != 'undefined') { html += ''; } html += ''; $('#stornotab table tbody').append(html); } function teilstornieren() { if($('#rechnungid').val() != '') { var ktype = $('input[name=ktype]:checked').val(); var ptype = $('input[name=ptype]:checked').val(); var totalAmount = $('#sutotal').text().replace(',', '.'); totalAmount = parseFloat(totalAmount); if (totalAmount < 0) { alert('Die Gesamtsumme darf nicht kleiner als 0 sein.'); return false; } if ( ktype === 'sk' && $('#adresse').val().length == 0 ) { $("#skempty").dialog('open'); return false; } else if ( ktype === 'sk' && $('#adresse').val().length > 0 && !checkStammkunde($('#adresse').val(), kassiererId)) { alert('Stammkunde nicht korrekt.'); return false; } if((ktype==='nk' && !$("#t_name").html()) || $('#wk > tbody > tr').length == 0) { $("#emptywarn").dialog('open'); } else if(zahlungselzwang && !$('#payment input[name=ptype]:checked').val()) { $('#zahlwarn').dialog('open'); } else { if(ptype === 'bar') { $.ajax({ url: 'index.php?module=pos&action=loadkassstand&kassiererId='+kassiererId, type: 'POST', dataType: 'json', data: { }, success: function(data) { if(parseFloat(data.kontostand) < totalAmount) { alert('Der Kassenstand ist kleiner als der Stornierbetrag!'); }else{ var anz = $('#wk > tbody > tr').length; if(anz > 0) { var betrag = $('#sutotal').html(); if(confirm('Es wird eine Gutschrift erstellt. Sicher weitermachen?')) { storePOSSession('teilstornieren'); } }else{ } } }}); }else{ var anz = $('#wk > tbody > tr').length; if(anz > 0) { var betrag = $('#sutotal').html(); if(confirm('Es wird eine Gutschrift in Höhe von '+betrag+' erstellt. Sicher weitermachen?')) { storePOSSession('teilstornieren'); } }else{ } } } } } function stornieren() { var ktype = $('input[name=ktype]:checked').val(); var ptype = $('input[name=ptype]:checked').val(); var totalAmount = $('#sutotal').text().replace(',', '.'); totalAmount = parseFloat(totalAmount); if (totalAmount < 0) { alert('Die Gesamtsumme darf nicht kleiner als 0 sein.'); return false; } if ( ktype === 'sk' && $('#adresse').val().length == 0 ) { $("#skempty").dialog('open'); return false; } else if ( ktype === 'sk' && $('#adresse').val().length > 0 && !checkStammkunde($('#adresse').val(), kassiererId)) { alert('Stammkunde nicht korrekt.'); return false; } if((ktype==='nk' && !$("#t_name").html()) || $('#wk > tbody > tr').length == 0) { $("#emptywarn").dialog('open'); } else if(zahlungselzwang && !$('#payment input[name=ptype]:checked').val()) { $('#zahlwarn').dialog('open'); } else { if(ptype === 'bar') { $.ajax({ url: 'index.php?module=pos&action=loadkassstand&kassiererId='+kassiererId, type: 'POST', dataType: 'json', data: { }, success: function(data) { if(parseFloat(data.kontostand) < totalAmount) { alert('Der Kassenstand ist kleiner als der Stornierbetrag!'); }else{ var anz = $('#wk > tbody > tr').length; if(anz > 0) { var betrag = $('#sutotal').html(); if(confirm('Es wird eine Gutschrift in Höhe von '+betrag+' erstellt. Sicher weitermachen?')) { storePOSSession('stornieren'); } }else{ } } }}); }else{ var anz = $('#wk > tbody > tr').length; if(anz > 0) { var betrag = $('#sutotal').html(); if(confirm('Es wird eine Gutschrift in Höhe von '+betrag+' erstellt. Sicher weitermachen?')) { storePOSSession('stornieren'); } }else{ } } } } function komplettstornieren() { if($('#rechnungid').val() != '') { var ktype = $('input[name=ktype]:checked').val(); var ptype = $('input[name=ptype]:checked').val(); var totalAmount = $('#sutotal').text().replace(',', '.'); totalAmount = parseFloat(totalAmount); if (totalAmount < 0) { alert('Die Gesamtsumme darf nicht kleiner als 0 sein.'); return false; } if ( ktype == 'sk' && $('#adresse').val().length == 0 ) { $("#skempty").dialog('open'); return false; } else if ( ktype == 'sk' && $('#adresse').val().length > 0 && !checkStammkunde($('#adresse').val(), kassiererId)) { alert('Stammkunde nicht korrekt.'); return false; } if((ktype==='nk' && !$("#t_name").html()) || $('#wk > tbody > tr').length == 0) { $("#emptywarn").dialog('open'); } else if(zahlungselzwang && !$('#payment input[name=ptype]:checked').val()) { $('#zahlwarn').dialog('open'); } else { if(ptype === 'bar') { $.ajax({ url: 'index.php?module=pos&action=loadkassstand&kassiererId='+kassiererId, type: 'POST', dataType: 'json', data: { }, success: function(data) { if(parseFloat(data.kontostand) < totalAmount) { alert('Der Kassenstand ist kleiner als der Stornierbetrag!'); }else{ var anz = $('#wk > tbody > tr').length; if(anz > 0) { var betrag = $('#sutotal').html(); if(confirm('Es wird eine Gutschrift in Höhe von '+betrag+' erstellt. Sicher weitermachen?')) { storePOSSession('komplettstornieren'); } }else{ } } }}); }else{ var anz = $('#wk > tbody > tr').length; if(anz > 0) { var betrag = $('#sutotal').html(); if(confirm('Es wird eine Gutschrift in Höhe von '+betrag+' erstellt. Sicher weitermachen?')) { storePOSSession('komplettstornieren'); } }else{ } } } } } function teilstornouebernehmen() { resetFields(); steuerfrei = ($('#teilstornosteuerfrei').val()==1)?true:false; ustid = $('#teilstornoustid').val(); var anzteile = $('#stornotab table tbody').find('tr').length; $('#stornotab table tbody').find('tr').each(function(){ var storeart = {}; storeart['artikel'] = $(this).find('.artikel').text(); storeart['id'] = $(this).find('.artid').val(); storeart['tax'] = $(this).find('.tax').val(); if($(this).find('.taxorig').length) { storeart['taxorig'] = $(this).find('.taxorig').val(); } storeart['nummer'] = $(this).find('.nummer').text(); storeart['amount'] = $(this).find('.menge').val()+''; storeart['preis'] = $(this).find('.preis').val(); storeart['rabatt'] = $(this).find('.rabatt').val(); var preisgenau = $(this).find('.preisgenau').val(); if(typeof preisgenau != 'undefined') { storeart['preis_genau'] = preisgenau; } var erloes = $(this).find('.erloes').val(); if(typeof erloes != 'undefined') { storeart['erloes'] = erloes; } if(storeart['amount'] != '' && storeart['amount'] != '0')addarticle(storeart, anzteile); }); $('#wk .editname').remove(); $('#wk .preisEditLink').remove(); $('#wk .delwkart').remove(); $('#wl input').prop('disabled', true); $('#wl input').prop('readonly', true); $('#finsale').hide(); $('#stornobutton').hide(); //$('#abortsale').hide(); $('#stornoabbrechen').show(); $('#teilstornobutton').show(); $('#stornoabbrechen').css('display','inline-block'); $('#teilstornobutton').css('display','inline-block'); $('#belegeladendiv').dialog('close'); $('#stornotab').hide(); $('#abbrechnenbutton').hide(); } if(document.getElementById('gezahlt') != null){ document.getElementById('gezahlt').addEventListener ('keydown', function (event) { if (event.which == 13) { calcrueckgeld(); $('#finconf').next('div').find('button').first().next().trigger('click'); } }); } if(document.getElementById('tip') != null){ document.getElementById('tip').addEventListener ('keydown', function (event) { if (event.which == 13) { calcrueckgeld(); $('#finconf').next('div').find('button').first().next().trigger('click'); } }); document.getElementById('tip').addEventListener ('keyup', function (event) { if (event.which != 13) { calcrueckgeld(); } }); } function belegabrechnen() { if($('#rechnungid').val() != '') { var totalAmount = $('#sutotal').text().replace(',', '.'); totalAmount = parseFloat(totalAmount); if (totalAmount < 0) { alert('Die Gesamtsumme darf nicht kleiner als 0 sein.'); return false; } if(confirm('Soll der Beleg wirklich über die Kasse abgerechnet werden?')) { var ptype = $('input[name=ptype]:checked').val(); if(ptype==='bar') { belegabrechnenaktiv = true; $('tr.trbar').css('display',''); $('tr.trec').css('display','none'); $("#gezahlt").val(''); $('#tip').val('0'); $("#rueckgeld").val(''); $("#finconf").dialog('open'); // $.post( "index.php?module=pos&action=display", { total: $('#sutotal').html() } ); $('#zahlbetrag').val($('#sutotal').html()); $('tr.trbar').css('display',''); $('table.numblock').css('display',''); $('#gezahlt').focus(); } else { if(ptype === 'ec' || ptype === 'kredit') { $('table.numblock').css('display',''); $('tr.trec').css('display',''); } else { $('table.numblock').css('display','none'); } $('tr.trbar').css('display','none'); $('#tip').val('0'); storePOSSession('belegabrechnen'); } } } } function stornoabbr() { $('#stornoabbrechen').hide(); $('#stornobutton').show(); $('#stornobutton').css('display','inline-block'); $('#teilstornobutton').hide(); $('#abbrechnenbutton').hide(); $('#komplettstornobutton').hide(); $('#finsale').show(); $('#abortsale').show(); $('#finsale').css('display','inline-block'); $('#abortsale').css('display','inline-block'); resetFields(); } /* function teilstornieren() { stornieren(); return; var storeobj = {}; storeobj['wk'] = []; $('#wk > tbody > tr').each(function(i,e) { var nart = {}; nart['id'] = $(this).prop('id'); nart['artikel'] = $(this).find('.artikel').html().replace(/\"/g,'"'); nart['kurztext_de'] = $(this).prop('title').replace(/\"/g,'"'); nart['nummer'] = $(this).find('.nummer').html(); nart['tax'] = $(this).find('.tax').html(); nart['preis'] = $(this).find('.preisinp').val(); nart['amount'] = $(this).find('.amount').val().replace(',','.'); nart['rabatt'] = $(this).find('.rabatt').val(); storeobj['wk'].push(nart); }); $.ajax({ url: 'index.php?module=pos&action=loadsess&cmd=stornorechnung&kasid='+kassiererId, type: 'POST', dataType: 'json', data: { artarr : JSON.stringify(storeobj)}, success: function(data) { $('#buttonabbrechen').hide(); $('#stornoabbrechen').hide(); $('#teilstornobutton').hide(); $('#stornobutton').show(); $('#finsale').css('display','inline-block'); $('#abortsale').css('display','inline-block'); $('#stornobutton').css('display','inline-block'); resetFields(); }, beforeSend: function() { } }); }*/ function seriennummernuebernehmen() { var artikelnr = $('#seriennummernartikelnr').val(); var html = ''; $('#seriennummerndiv table tbody').children('tr').each(function(){ if(html != '')html += ','; html += $(this).find('.seriennummereingabe').val(); }); $('#wk > tbody > tr').each(function(i,e) { if($(e).find('.nr').html() == artikelnr) { $(e).find('.seriennummernliste').val(html); return; } }); } function seriennummernopen(elem) { var name = $(elem).find('.artikel').html(); var menge = ($(elem).find('.amount').val()+'').replace(',','.'); var artikelnr = $(elem).find('.nr').html(); var seriennummern = $(elem).find('.seriennummern').val(); var artikelid = $(elem).prop('id'); $('#seriennummernartikelid').val(artikelid); $('#seriennummernartikelnr').val(artikelnr); var html = ''; var html2 = ''; $('#seriennummerndiv table tbody').find('td').first().append(html2); $('#seriennummerndiv').dialog('open'); } } function artikeltextuebernehmen() { var nr = $('#artikeltextdivnr').val(); var artikel = $('#artikeltextdivartikel').val(); var anabregs_text = $('#artikeltextdivanabregs_text').val(); $('#wk > tbody > tr').each(function(i,e) { if($(e).find('.nr').html() == nr) { $(e).find('.artikel').html(artikel); $(e).find('.anabregs_text').html(anabregs_text); return; } }); } function changeArtikelName(elem) { var par = $(elem).parents('tr').first(); var nr = $(par).find('.nr').html(); var artikel = $(par).find('.artikel').html(); var anabregs_text = $(par).find('.anabregs_text').html(); $('#artikeltextdivnr').val(nr); $('#artikeltextdivartikel').val(artikel); $('#artikeltextdivanabregs_text').val(anabregs_text); $('#artikeltextdiv').dialog('open'); } function checkseriennummern(elem) { var par = $(elem).parents('tr').first(); var seriennummern = $(par).find('.seriennummern').val(); if(seriennummern) { var seriennummernliste = ($(par).find('.seriennummernliste').val()+'').split(','); var anzbelegt = 0; $(seriennummernliste).each(function(i,e) {if(e != '')anzbelegt++}); var menge = ($(elem).val()+'').replace(',','.'); if(anzbelegt < menge)seriennummernopen(par); } } function updateRabattartikel() { var preis = 0; $('#wk > tbody > tr').each(function(i,e) { var porto = parseInt($(this).find('.porto').first().html()); var rabattartikel = parseInt($(this).find('.rabattartikel').first().html()); var keinrabatterlaubt = parseInt($(this).find('.keinrabatterlaubt').first().html()); if(porto == 0 && keinrabatterlaubt == 0 && rabattartikel == 0) { if(brutto) { var tbrutto = parseFloat($(this).data('total')); // find('.gesamt').html()); // var tmwst = parseFloat($(this).find('.tax').html()); // var tara = (tbrutto / 100) * tmwst; var tmwst = parseFloat($(this).find('.tax').html()); var ltmwst = (tmwst + 100) / 100; var tnetto = tbrutto / ltmwst; var trabatt = parseFloat($(this).find('.rabatt').val().replace(',','.')); preis = preis + tbrutto; }else{ var tnetto = parseFloat($(this).data('total')); // find('.gesamt').html()); // var tmwst = parseFloat($(this).find('.tax').html()); // var tara = (tbrutto / 100) * tmwst; var tmwst = parseFloat($(this).find('.tax').html()); var ltmwst = (tmwst + 100) / 100; var tbrutto = tnetto * ltmwst; var trabatt = parseFloat($(this).find('.rabatt').val().replace(',','.')); preis = preis + tnetto; } } }); $('#wk > tbody > tr').each(function(i,e) { var porto = parseInt($(this).find('.porto').first().html()); var rabattartikel = parseInt($(this).find('.rabattartikel').first().html()); var keinrabatterlaubt = parseInt($(this).find('.keinrabatterlaubt').first().html()); if(rabattartikel == 1) { var prozent = $(this).find('.rabatt_prozent').html()+''; $(this).data('total', -preis * parseFloat(prozent.replace(',','.')) / 100); $(this).find('.preisNormal td').first().html(((-preis * parseFloat(prozent.replace(',','.')) / 100).toFixed(2)+'').replace('.',',')); $(this).find('.preisinp').val(((-preis * parseFloat(prozent.replace(',','.')) / 100).toFixed(2)+'').replace('.',',')); $(this).find('.rabatt').val('0'); $(this).find('.amount').val('1'); } }); } function getRabattBetrag(prozent, tax) { var preis = 0; $('#wk > tbody > tr').each(function(i,e) { var porto = parseInt($(this).find('.porto').first().html()); if(isNaN(porto))porto = 0; var rabattartikel = parseInt($(this).find('.rabattartikel').first().html()); if(isNaN(rabattartikel))rabattartikel = 0; var keinrabatterlaubt = parseInt($(this).find('.keinrabatterlaubt').first().html()); if(isNaN(keinrabatterlaubt))keinrabatterlaubt = 0; if(porto == 0 && keinrabatterlaubt == 0 && rabattartikel == 0) { if(brutto) { var tbrutto = parseFloat($(this).data('total')); // find('.gesamt').html()); if(isNaN(tbrutto))tbrutto = 0; // var tmwst = parseFloat($(this).find('.tax').html()); // var tara = (tbrutto / 100) * tmwst; var tmwst = parseFloat($(this).find('.tax').html()); if(isNaN(tmwst))tmwst = 0; var ltmwst = (tmwst + 100) / 100; var tnetto = tbrutto / ltmwst; var trabatt = parseFloat($(this).find('.rabatt').val().replace(',','.')); preis = preis + tbrutto; }else{ var tnetto = parseFloat($(this).data('total')); // find('.gesamt').html()); if(isNaN(tnetto))tnetto = 0; // var tmwst = parseFloat($(this).find('.tax').html()); // var tara = (tbrutto / 100) * tmwst; var tmwst = parseFloat($(this).find('.tax').html()); if(isNaN(tmwst))tmwst = 0; var ltmwst = (tmwst + 100) / 100; var tbrutto = tnetto * ltmwst; var trabatt = parseFloat($(this).find('.rabatt').val().replace(',','.')); preis = preis + tnetto; } } }); var erg = -preis * parseFloat((prozent+'').replace(',','.')) / 100; if(isNaN(erg))erg = 0; return erg; } function addarticle(jdata, anz_teile) { var trs = $('#wk > tbody > tr'); if(trs.length) { var $lastRow = trs[trs.length - 1]; if(sumarticles == '1' && $lastRow.id == jdata['id']) { $($lastRow).find('.amount').val(parseFloat(($($lastRow).find('.amount').val()+'').replace(',','.'))+1); grabatt = 0; $('#wk > tbody > tr').each(function() { updatearttotal($(this)); }); updatetotals(); grabatt = 0; $('#artikelnummerprojekt').focus(); return; } } var newart = $('#defart').clone(); newart.attr('id', jdata['id']); delete(jdata['id']); var tpreis = jdata['preis']; var seriennummern = 0; if(typeof jdata['seriennummern'] != 'undefined')seriennummern = jdata['seriennummern']; if(typeof jdata['rabattartikel'] != 'undefined' && typeof jdata['rabatt_prozent'] != 'undefined' && parseFloat(jdata['rabattartikel']) == 1) { jdata['preis'] = getRabattBetrag(jdata['rabatt_prozent'], jdata['tax']); tpreis = jdata['preis']+''; jdata['rabatt'] = 0; }else{ tpreis = tpreis + ''; } jdata['preis'] = tpreis.replace(',','.'); jdata['preis'] = Math.round(jdata['preis'] * 100) / 100; if('amount' in jdata) { newart.find('.amount').val(jdata['amount'].replace(',','.')); delete(jdata['amount']); } if('rabatt' in jdata) { newart.find('.rabatt').val(parseFloat(jdata['rabatt']).toFixed(0)); delete(jdata['rabatt']); } jQuery.each(jdata, function(i,e) { newart.find('.'+i).html(e); }); if(newart.find('.taxorig').length) { newart.find('.taxorig').html(jdata['tax']); } if(steuerfrei) { newart.find('.tax').html('0%'); } var preisAusgabe = parseFloat(newart.find('.preis').html()).toFixed(2).replace('.',','); var preisHtml = ''; preisHtml += ''; preisHtml += ''; preisHtml += ''; preisHtml += ''; preisHtml += ''; preisHtml += ''; preisHtml += ''; preisHtml += ''; preisHtml += ''; preisHtml += '
'; preisHtml += preisAusgabe; preisHtml += ''; preisHtml += ''; preisHtml += 'ändern'; preisHtml += ''; preisHtml += ''; preisHtml += ''; preisHtml += '
'; newart.find('.preis').html(preisHtml); // newart.find('.preis').html('' + preisAusgabe + ''); // newart.find('.preis').append(''); // newart.find('.preis').append(''); var ges = ''+jdata['preis']; newart.find('.gesamt').html(ges.replace('.',',')); newart.find('.nr').html($('#wk > tbody > tr').length + 1); newart.attr('title',jdata['kurztext_de']); if(typeof jdata['preis_genau'] != 'undefined') { newart.find('.preisgenau').html(jdata['preis_genau']); newart.find('.preisgenauex').html(1); newart.find('.gesamtpreisgenau').html(1); } if(typeof jdata['erloes'] != 'undefined') { newart.find('.erloes').html(jdata['erloes']); } $('#wk > tbody ').append(newart); if(typeof anz_teile == 'undefined')anz_teile = $('#wk > tbody > tr').length; if(anz_teile < 8) { $('#wkcontainer').animate({scrollTop : ($('#wk > tbody > tr').length+1)*27},(100 )); }else{ $('#wkcontainer').animate({scrollTop : ($('#wk > tbody > tr').length+1)*27},(10 )); } grabatt = 0; $('#wk > tbody > tr').each(function() { updatearttotal($(this)); }); updatetotals(); grabatt = 0; $('#artikelnummerprojekt').focus(); // löschen eines Eintrags $('.delwkart').on('click', function() { // Zeilen neu nummerieren var row = $(this).parent().parent(); var table = row.parent(); row.remove(); table.find('.nr').each(function(i) { $(this).html(i+1); }); grabatt = 0; $('#wk > tbody > tr').each(function() { updatearttotal($(this)); }); updatetotals(); grabatt = 0; $('#artikelnummerprojekt').focus(); return false; }); // Verändern der Produktmenge $('.amount').on('keyup', function() { if(!$(this).val()) return; grabatt = 0; $('#wk > tbody > tr').each(function() { updatearttotal($(this)); }); updatetotals(); grabatt = 0; }); $('.amount').on('change', function() { checkseriennummern(this); }); $('.preisinp').on('keyup', function() { if(!$(this).val()) return; $(this).parent('table').first().parents('tr').first().find('.preisgenauex').html(''); grabatt = 0; $('#wk > tbody > tr').each(function() { updatearttotal($(this)); }); updatetotals(); grabatt = 0; }); // Verändern des Rabatts $('.rabatt').on('keyup', function(event) { var newval; var oldval = parseFloat($(this).val()); if (event.which == 38) { newval = oldval+1; } else if (event.which == 40) { newval = oldval-1; } else { newval = $(this).val().replace(/[^0-9\.]/g,''); } if (newval < 0 || newval.length == 0) { newval = 0; } if (newval > 100) { newval = 0; } $(this).val(newval); }); $('.rabatt').on('keyup', function() { if(!$(this).val()) return; grabatt = 0; $('#wk > tbody > tr').each(function() { updatearttotal($(this)); }); updatetotals(); grabatt = 0; }); } function updatearttotal(art) { var rabatt = parseFloat(art.find('.rabatt').val()) / 100; // var total = parseFloat(art.find('.preis').html().replace(',','.')) * parseInt(art.find('.amount').val()); var preis = art.find('.preisinp').val(); var preis_genau = 0; var preisgenauex = ''+art.find('.preisgenauex').html(); var preisgenau = ''+parseFloat(art.find('.preisgenau').html()); if(preisgenauex != '') { preis = preisgenau; } if (typeof preis == "undefined") { return; } // wenn menge < 0 mache künstlich 1 draus hauptsache nicht negativ var amount = art.find('.amount').val(); if(parseFloat(amount.replace(',', '.'))<0 || amount.search("-") >= 0) { grabatt = 0; amount=1; art.find('.amount').val(1); $('#wk > tbody > tr').each(function() { updatearttotal($(this)); }); updatetotals(); grabatt = 0; } var total = parseFloat( parseFloat(preis.replace(',', '.')) * parseFloat(amount.replace(',', '.')) ); lrabatt = total * rabatt; if(typeof brutto == 'undefined' || !brutto) { // basierend auf org wert lrabatt = total * rabatt; var total = parseFloat( parseFloat(preis.replace(',', '.')) * parseFloat(amount.replace(',', '.')) - (parseFloat(preis.replace(',', '.')) * parseFloat(amount.replace(',', '.')) / 100 * rabatt * 100) ); } grabatt += lrabatt; art.data('total',total); total -= lrabatt; if(brutto) { if(preisgenauex!='')art.find('.gesamtpreisgenau').html(total); total = total.toFixed(2); } else { total = total + (parseFloat(preis.replace(',', '.')) * parseFloat(amount.replace(',', '.')) / 100 * rabatt * 100); if(preisgenauex!='')art.find('.gesamtpreisgenau').html(total); total = total.toFixed(2); } art.find('.gesamt').html(total.replace('.',',')); } function updatetotals() { totaltaraNorm = 0.0; totaltaraErm = 0.0; totalbrutto = 0.0; totalnetto = 0.0; updateRabattartikel(); var grabattbrutto = 0; $('#wk > tbody > tr').each(function(i,e) { var rabatt = parseFloat($(this).find('.rabatt').val()) / 100; if(typeof brutto != 'undefined' && brutto) { var tbrutto = parseFloat($(this).data('total')); // find('.gesamt').html()); // var tmwst = parseFloat($(this).find('.tax').html()); // var tara = (tbrutto / 100) * tmwst; var taxContent = $(this).find('.tax').html(); var tmwst = parseFloat( taxContent.replace("%", "").replace(",", ".") ); if(steuerfrei)tmwst = 0; var ltmwst = (tmwst + 100) / 100; var tnetto = tbrutto / ltmwst; }else{ var tnetto = parseFloat($(this).data('total')); // find('.gesamt').html()); // var tmwst = parseFloat($(this).find('.tax').html()); // var tara = (tbrutto / 100) * tmwst; var tmwst = parseFloat($(this).find('.tax').html()); if(steuerfrei)tmwst = 0; var ltmwst = (tmwst + 100) / 100; var tbrutto = tnetto * ltmwst; grabattbrutto += tbrutto * rabatt; } tnetto = Math.round(tnetto * 100) / 100; var tara = tbrutto - tnetto; var taxnorm = parseFloat($('#taxnorm').html()); var taxerm = parseFloat($('#taxerm').html()); if(tmwst == taxnorm) totaltaraNorm += tara; else if(tmwst == taxerm) totaltaraErm += tara; totalbrutto += tbrutto; totalnetto += tnetto; }); if(typeof brutto == 'undefined' || !brutto) { totalbrutto = parseFloat((Math.round(totalbrutto*100, 2)/100.0).toFixed(2)); } grabatt = parseFloat(grabatt); //if(typeof brutto == 'undefined' || !brutto)grabatt = parseFloat(grabattbrutto); grabatteur = parseFloat(grabatteur); // Minimal 0 if (grabatteur.length == 0 || isNaN(grabatteur)) { grabatteur = 0; } // Minimal 0 if (grabatt.length == 0 || isNaN(grabatt)) { grabatt = 0; } if(typeof brutto != 'undefined' && brutto) var totaltotal = totalbrutto - grabatt - grabatteur; else var totaltotal = totalbrutto - grabatteur; /* totaltara19 = Math.round(totaltara19 * 100) / 100; totaltara7 = Math.round(totaltara7 * 100) / 100; totalbrutto = Math.round(totalbrutto * 100) / 100; totalnetto = Math.round(totalnetto * 100) / 100; */ if(steuerfrei) { totaltaraNorm = 0; totaltaraErm = 0; } totaltaraNorm = totaltaraNorm.toFixed(2); totaltaraErm = totaltaraErm.toFixed(2); totalbrutto = totalbrutto.toFixed(2); totalnetto = totalnetto.toFixed(2); totaltotal = totaltotal.toFixed(2); grabatt = grabatt.toFixed(2); grabatteur = grabatteur.toFixed(2); $('#sunetto'). html(totalnetto.replace('.',',')); $('#taranorm'). html(totaltaraNorm.replace('.',',')); $('#taraerm'). html(totaltaraErm.replace('.',',')); $('#subrutto'). html(totalbrutto.replace('.',',')); $('#trabatt'). html('-' + grabatt.replace('.',',')); $('#trabatteur').html('-' + grabatteur.replace('.',',')); $('#sutotal'). html(totaltotal.replace('.',',')); var anzteile = 0; $('#wk > tbody > tr').each(function(i,e) { var portoartikel = parseInt($(this).find('.porto').html()); var rabattartikel = parseInt($(this).find('.rabattartikel').html()); if(portoartikel == 0 && rabattartikel == 0) { var anzt = parseFloat( ($(this).find('.amount').val()+'').replace(',','.') ); if(!isNaN(anzt))anzteile += anzt; } }); $('#anzteile').html((anzteile+'').replace('.',',')); } function VorgangNeu() { if(vorgangname = prompt('Bitte neue Bezeichnung eingeben')) { $('#vorgangname').val(vorgangname); storePOSSession('neuervorgang'); } } function LadeVorgang(vorgangid) { resetFields(); $('#tabs-1').removeData('on'); $('#vorgangladendiv').dialog('close'); loadPOSSession(kassiererId, vorgangid); } function vorgangspeichern() { if(true || $('#vorgangname').val()+'' != '') { storePOSSession('neuervorgang'); }else{ storePOSSession('storesess'); } resetFields(); } function Deletevorgang(vorgangid) { if(confirm('Wollen Sie den Vorgang wirklich löschen?')) { $.ajax({ url: 'index.php?module=pos&action=list&action=loadsess&cmd=deletevorgang', type: 'POST', dataType: 'json', data: { vorgang: vorgangid}, success: function(jdata) { var oTable = $('#pos_vorgaenge').DataTable( ); oTable.ajax.reload(); } }); } } function getPositions() { var pos = []; $('#wk > tbody > tr').each(function(i,e) { var nart = {}; nart['id'] = $(this).prop('id'); nart['artikel'] = $(this).find('.artikel').html().replace(/\"/g,'"'); nart['kurztext_de'] = $(this).prop('title').replace(/\"/g,'"'); nart['nummer'] = $(this).find('.nummer').html(); nart['tax'] = $(this).find('.tax').html(); if($(this).find('.tax').length) { nart['taxorig'] = $(this).find('.tax').html(); } nart['preis'] = $(this).find('.preisinp').val(); nart['preisgenauex'] = $(this).find('.preisgenauex').html(); nart['preisgenau'] = $(this).find('.preisgenau').html(); nart['erloes'] = $(this).find('.erloes').html(); nart['amount'] = $(this).find('.amount').val().replace(',','.'); nart['rabatt'] = $(this).find('.rabatt').val(); nart['anabregs_text'] = $(this).find('.anabregs_text').html().replace(/\"/g,'"'); nart['rabattartikel'] = $(this).find('.rabattartikel').html(); nart['rabatt_prozent'] = $(this).find('.rabatt_prozent').html(); nart['keinrabatterlaubt'] = $(this).find('.keinrabatterlaubt').html(); nart['porto'] = $(this).find('.porto').html(); nart['seriennummernliste'] = $(this).find('.seriennummernliste').val(); pos.push(nart); }); return pos; } function storePOSSession(actioncomm) { var storeobj = {}; storeobj['kasid'] = $('#tabs-1').data('on'); if ($("#tabs-1").data('sid')) storeobj['sid'] = $("#tabs-1").data('sid'); var gezahlt = 0; gezahlt = $('#gezahlt').val(); var tip = $('#tip').val(); storeobj['addr'] = {}; if(steuerfrei) { storeobj['steuerfrei'] = 1; } if(ustid != '')storeobj['ustid'] = ustid; $('#ob1 span').each(function(i,e) { var tid = $(this).prop('id').split('t_'); storeobj['addr'][tid[1]] = $(this).html(); }); // storeobj['addr']['land'] = $('#ob1 #t_land').html(); if(actioncomm==="finsess") storeobj['addr']['infoauftragserfassung'] = $.base64Encode( $('#infoauftragserfassung_pos').val() ); else storeobj['addr']['infoauftragserfassung'] = $('#infoauftragserfassung_pos').val(); // ENDE ANPASSUNG FUER Uebertragung HTML in JSON //storeobj['addr']['infoauftragserfassung'] = $('#infoauftragserfassung_pos').val(); storeobj['addrid'] = $('#adresse').val(); var ktype = $('input[name=ktype]:checked').val(); if(ktype === 'lk') storeobj['addrid'] = lkaddr; else if(ktype === 'nk') storeobj['addrid'] = 'NEW'; storeobj['addrstore'] = "nostore"; if($('#storenewcust').is(':checked')) storeobj['addrstore'] = "store"; if (saveCust) { storeobj['addrstore'] = "store"; saveCust = false; } storeobj['wk'] = []; $('#wk > tbody > tr').each(function(i,e) { var nart = {}; nart['id'] = $(this).prop('id'); nart['artikel'] = $(this).find('.artikel').html().replace(/\"/g,'"'); nart['kurztext_de'] = $(this).prop('title').replace(/\"/g,'"'); nart['nummer'] = $(this).find('.nummer').html(); nart['tax'] = $(this).find('.tax').html(); if($(this).find('.taxorig').length) { nart['taxorig'] = $(this).find('.taxorig').html(); } nart['preis'] = $(this).find('.preisinp').val(); nart['preisgenauex'] = $(this).find('.preisgenauex').html(); nart['preisgenau'] = $(this).find('.preisgenau').html(); nart['amount'] = $(this).find('.amount').val().replace(',','.'); nart['rabatt'] = $(this).find('.rabatt').val(); nart['anabregs_text'] = $(this).find('.anabregs_text').html().replace(/\"/g,'"'); nart['rabattartikel'] = $(this).find('.rabattartikel').html(); nart['rabatt_prozent'] = $(this).find('.rabatt_prozent').html(); nart['keinrabatterlaubt'] = $(this).find('.keinrabatterlaubt').html(); nart['porto'] = $(this).find('.porto').html(); nart['seriennummernliste'] = $(this).find('.seriennummernliste').val(); storeobj['wk'].push(nart); }); storeobj['ptype'] = $('#payment input[name=ptype]:checked').val(); storeobj['rtype'] = $('#retyp input[name=rtype]:checked').val(); storeobj['inbem'] = $('#inbem').val(); storeobj['freit'] = $('#freit').val(); grStr = $('#grabatt').html(); grArr = grStr.split('%'); storeobj['grabatt'] = grArr[0]; storeobj['grabatteur'] = grabatteur; storeobj['gezahlt'] = gezahlt; storeobj['tip'] = tip; storeobj['soll'] = $('#sutotal').text().replace(',', '.'); storeobj['kassiererId'] = kassiererId; var actioncomm2 = actioncomm; if(actioncomm === 'belegabrechnen') { storeobj['cmd'] = 'belegabrechnen'; storeobj['rechnungid'] = $('#rechnungid').val(); storeobj['belegtyp'] = $('#belegtyp').val(); actioncomm2 = 'finsess'; } if(actioncomm === 'teilstornieren') { storeobj['cmd'] = 'teilstornieren'; storeobj['rechnungid'] = $('#rechnungid').val(); storeobj['belegtyp'] = $('#belegtyp').val(); actioncomm2 = 'finsess'; } if(actioncomm === 'komplettstornieren') { storeobj['cmd'] = 'komplettstornieren'; storeobj['rechnungid'] = $('#rechnungid').val(); storeobj['belegtyp'] = $('#belegtyp').val(); actioncomm2 = 'finsess'; } if(actioncomm === 'stornieren') { storeobj['cmd'] = 'stornieren'; actioncomm2 = 'finsess'; } if(actioncomm === 'neuervorgang') { storeobj['cmd'] = 'neuervorgang'; storeobj['vorgangname'] = storeobj['addr']['name'];//$('#vorgangname').val(); actioncomm2 = 'storesess'; } var vorgangid = $('#vorgangid').val(); if(vorgangid)storeobj['vorgangid'] = vorgangid; storeobj['randnumber'] = randnumber; var jsonString = JSON.stringify(storeobj); $.ajax({ url: 'index.php?module=pos&action='+actioncomm2, type: 'POST', dataType: 'json', data: { sessdata: jsonString}, success: function(jdata) { if(actioncomm === 'finsess') { $('#finconfconf').dialog('open'); } else if(actioncomm === 'resetsess') resetFields(); else if(actioncomm === 'stornieren') { resetFields(); $('#finconfconf').dialog('open'); } else if(actioncomm === 'belegabrechnen') { stornoabbr(); $('#finconfconf').dialog('open'); } else if(actioncomm === 'teilstornieren') { stornoabbr(); $('#finconfconf').dialog('open'); } else if(actioncomm === 'komplettstornieren') { stornoabbr(); $('#fauftrag').each(function(){$(this).val('');}); $('#frechnung').each(function(){$(this).val('');}); $('#finconfconf').dialog('open'); } else $('#storeconfconf').dialog('open'); $('#artikelnummerprojekt').focus(); setAbschlusstimer(); } }); /*$.getJSON( '', { module: "pos", action: actioncomm, sessdata: jsonString }).done(function( jdata ) { if(actioncomm == 'finsess') $('#finconfconf').dialog('open'); else if(actioncomm == 'resetsess') resetFields(); else $('#storeconfconf').dialog('open'); $('#artikelnummerprojekt').focus(); });*/ } function setAbschlusstimer(){ var logouttimeabschluss = parseInt($('#logoutkas').data('logouttimeabschluss')); if(logouttimeabschluss > 0) { if(logouttimerabschluss) { clearTimeout(logouttimerabschluss); } logouttimerabschluss = setTimeout(function () { if(kassiererId) { $('#logoutkas').trigger('click'); } }, logouttimeabschluss * 1000); } } function showteilstorno(jdata) { $('#stornotab table tbody').find('tr').remove(); if(typeof jdata['Fehler'] != 'undefined') { stornoabbr(); alert(jdata['Fehler']); return; } if(typeof jdata['zahlungsweise'] != 'undefined') { switch(jdata['zahlungsweise']) { case 'bar': $('#bar').each(function(){$(this).prop('checked',true)}); break; case 'ec': case 'eckarte': $('#ec').each(function(){$(this).prop('checked',true)}); break; case 'kredit': case 'kreditkarte': $('#kredit').each(function(){$(this).prop('checked',true)}); break; case 'ueb': case 'rechnung': $('#ueb').each(function(){$(this).prop('checked',true)}); break; default: $('#bar').each(function(){$(this).prop('checked',true)}); break; } } if(typeof jdata['belegtyp'] != 'undefined')$('#belegtyp').val(jdata['belegtyp']); if(typeof jdata['belegid'] != 'undefined')$('#rechnungid').val(jdata['belegid']); if(typeof jdata['steuerfrei'] != 'undefined')$('#teilstornosteuerfrei').val(jdata['steuerfrei']); if(typeof jdata['ustid'] != 'undefined')$('#teilstornoustid').val(jdata['ustid']); if(typeof jdata['originkundennummer'] != 'undefined') { $('#adresse').val(jdata['originkundennummer']); $('#loadaddr').prop('checked',true); } $.each(jdata['wk'], function(i,e) { addarticlestorno(e); }); $('#stornotab').show(); } function showdata(jdata) { resetFields(); if(typeof jdata['steuerfrei'] != 'undefined' && (jdata['steuerfrei'] == '1' || jdata['steuerfrei'] == 1)) { steuerfrei = true; } else{ steuerfrei = false; } if(typeof jdata['ustid'] != 'undefined') { ustid = jdata['ustid']; }else{ ustid = ''; } if(typeof jdata['Fehler'] != 'undefined') { stornoabbr(); alert(jdata['Fehler']); return false; } if(typeof jdata['zahlungsweise'] != 'undefined') { switch(jdata['zahlungsweise']) { case 'bar': $('#bar').each(function(){$(this).prop('checked',true)}); break; case 'ec': case 'eckarte': $('#ec').each(function(){$(this).prop('checked',true)}); break; case 'kredit': case 'kreditkarte': $('#kredit').each(function(){$(this).prop('checked',true)}); break; case 'ueb': case 'rechnung': $('#ueb').each(function(){$(this).prop('checked',true)}); break; default: $('#bar').each(function(){$(this).prop('checked',true)}); break; } } if(typeof jdata['belegtyp'] != 'undefined')$('#belegtyp').val(jdata['belegtyp']); $('#rechnungid').val(jdata['belegid']); $.each(jdata['addr'], function(i, e) { $('#ob1 #t_'+i).html(e); }); var anzteile = $(jdata['wk']).length; $.each(jdata['wk'], function(i,e) { addarticle(e, anzteile); }); if(typeof jdata['status'] != 'undefined' && jdata['status'] == 'abgeschlossen') { $('#wkcontainer input.amount').prop('disabled', true); $('#wkcontainer input.rabatt').prop('disabled', true); $('#loadartsubmit').prop('disabled', true); }else{ $('#loadartsubmit').prop('disabled', false); $('#wkcontainer input.amount').prop('disabled', false); $('#wkcontainer input.rabatt').prop('disabled', false); } if(typeof jdata['originkundennummer'] != 'undefined') { $('#adresse').val(jdata['originkundennummer']); $('#loadaddr').prop('checked',true); } $('#wk .editname').remove(); $('#wk .preisEditLink').remove(); $('#wk .delwkart').remove(); $('#wl input').prop('disabled', true); $('#wl input').prop('readonly', true); $('#finsale').hide(); //$('#abortsale').hide(); $('#abbrechnenbutton').show(); $('#stornoabbrechen').show(); $('#abbrechnenbutton').css('display','inline-block'); $('#stornoabbrechen').css('display','inline-block'); $('#komplettstornobutton').hide(); $('#stornobutton').hide(); $('#belegeladendiv').dialog('close'); $('#stornotab').hide(); return true; } function loadPOSSession(kasid, vorgangid) { if(typeof vorgangid == 'undefined') { vorgangid = 0; $('#vorgangid').val(''); }else{ if(vorgangid > 0) { $('#vorgangid').val(vorgangid); }else{ $('#vorgangid').val(''); } } // check for pending sessions $.getJSON( '', { module: "pos", action: "loadsess", kasid: kasid, vorgang:vorgangid }).done(function( jdata ) { randnumber = (Math.random() * (99999999 - 10000000)) + 10000000; // no stored session found if('check' in jdata && jdata['check'] == "noss") { return false; } if('sid' in jdata) { $("#tabs-1").data('sid', jdata['sid']); } if (jdata.kassiererId != kassiererId) { kassiererId = jdata.kassiererId; } $.each(jdata['addr'], function(i, e) { $('#ob1 #t_'+i).html(e); }); // set address radio button accordingly //$('input[name=ktype]').removeProp('checked'); // Kundenid aus input "Stammkunde" löschen, falls neuer kunde oder laufkundschaft $('#adresse').val(''); if(jdata['addrid'] == "NEW") { $('input[name=ktype][value=nk]').prop('checked',true); $('input[name=ktype][value=nk]').attr('checked',true); } else if(jdata['addrid'] == lkaddr) { //$('#adjcust').show(); $('input[name=ktype][value=lk]').prop('checked',true); $('input[name=ktype][value=lk]').attr('checked',true); } else { $('#adjcust').show(); $('input[name=ktype][value=sk]').prop('checked',true); $('input[name=ktype][value=sk]').attr('checked',true); $('#adresse').val(jdata['addrid']); } // Warenkorb Anfang var anzteile = $(jdata['wk']).length $.each(jdata['wk'], function(i,e) { addarticle(e, anzteile); }); if(jdata['grabatt']) { if(jdata['grabatt']>0) $('#wk tbody .rabatt').val(jdata['grabatt']); $("#grabatt").val(jdata['grabatt']+'%'); } if(jdata['grabatteur']) { grabatteur = jdata['grabatteur']; } grabatt = 0; $('#wk > tbody > tr').each(function() { updatearttotal($(this)); }); updatetotals(); grabatt = 0; // Warenkorb Ende $("#"+jdata['ptype']).prop('checked','checked'); $("#"+jdata['rtype']).prop('checked','checked'); if (typeof jdata.inbem != "undefined") { $("#inbem").val(jdata.inbem); } if (typeof jdata.freit != "undefined") { $("#freit").val(jdata.freit); } /* $("#inbem").val(jdata['inbem']); $("#freit").val(jdata['freit']); */ if(typeof jdata['sesssionbezeichnung'] != "undefined") { $('#vorgangname').val(jdata['sesssionbezeichnung']); } $('#artikelnummerprojekt').focus(); }); } function logoutkas() { $.getJSON( '', { module: "pos", action: "logoutkass" }).done(function( jdata ) { $('#tabs-1 input').prop('disabled','disabled'); $('#loadkass input').removeAttr('disabled'); $('#tabs-1').removeData('on'); // $('#logoutkas').hide(); $('#loggedinkas').html(''); $('#filiale').html(''); $('#kashin').dialog('open'); randnumber = (Math.random() * (99999999 - 10000000)) + 10000000; }); } function loginkas(kanr) { if ($("#tabs-1").data('on')) { if($("#tabs-1").data('on') == kanr) { alert('Kassierer ist bereits angemeldet'); return false; } storePOSSession('storesess'); resetFields(); $('#tabs-1').removeData('on'); } $.getJSON( '', { module: "pos", action: "loadkass", kanr: kanr }).done(function( data ) { if(data.check != "ERR") { $('#tabs-1 input').removeAttr('disabled'); $('#tabs-1').data('on',kanr); lkaddr = data.lkadresse; // $('#logoutkas').show(); $('#loggedinkas').html(' ' + data.kname); $('#filiale').html(' ' + data.filiale); //$('#kanr').html(kanr); kassiererId = kanr; loadPOSSession(kanr); window.location.reload(); } else { kassiererId = null; alert('Kassierer nicht vorhanden'); logoutkas(); randnumber = (Math.random() * (99999999 - 10000000)) + 10000000; } }); } function resetFields() { steuerfrei = false; ustid = ''; randnumber = (Math.random() * (99999999 - 10000000)) + 10000000; $('#loadartsubmit').prop('disabled', false); $('#wkcontainer input.amount').prop('disabled', false); $('#wkcontainer input.rabatt').prop('disabled', false); belegabrechnenaktiv = false; $('#vorgangid').val(''); // Adressen Felder $('#modalcont input[type=text]').val(''); $('#ob1 span').html(''); $('#adresse').val(''); $('input[name=ktype]').removeProp('checked'); $('input[name=ktype][value=lk]').prop('checked',true); $('.rechnungsadresse_container').find('#t_name').text('Laufkundschaft'); //$('input[name=ktype][value=sk]').prop('checked',true); $('#wk tbody').html(''); $('#grabatt').text('0%'); grabatteur = '0.00'; grabatteur = parseFloat(grabatteur.replace(',','.')); grabatt = '0.00'; grabatt = parseFloat(grabatt.replace(',','.')); // $('#trabatteur').val(0.0); // $('#trabatteur').text('0.0); grabatt = 0; updatetotals(); $('#artikelnummerprojekt').val(''); $('#inbem').val(''); $('#freit').val(''); $('#payment input:checked').prop('checked', false); $('#retyp input:checked').prop('checked', false); if(!zahlungselzwang) $($('#payment input[name=ptype]')[0]).prop('checked', true); $($('#retyp input[name=rtype]')[0]).prop('checked', true); $("#tabs-1").removeData('sid'); } function tinyMCEsetup() { tinyMCE.init({ selector: '#infoauftragserfassung_pos', mode: "textareas", theme: "modern", menubar: false, statusbar: false, toolbar_items_size: 'small', width: "100%", entity_encoding: "raw", element_format: "html", force_br_newlines: true, force_p_newlines: false, plugins: [ "textcolor" ], toolbar1: "bold italic underline strikethrough | styleselect formatselect fontsizeselect | searchreplace | forecolor backcolor | restoredraft", toolbar2: "", toolbar3: "", setup: function (editor) { editor.on('keyup', function () { $('textarea#infoauftragserfassung_pos').val(tinyMCE.get('infoauftragserfassung_pos').getContent()); }); } }); } function changeArtikelPreis(container) { var elem = $(container); elem.parent().parent().next().show(); elem.parent().parent().hide(); elem.parent().parent().next().find('input').focus(); elem.parent().parent().next().find('input').keydown(function(e) { if (e.which == 13) { var newVal = $(this).val(); if (newVal == '') { newVal = 0; } newVal = newVal.replace(',', '.'); newVal = parseFloat(newVal).toFixed(2); newVal = newVal.replace('.', ','); $(this).parent().parent().prev().children('td').first().text( newVal ); $(this).parent().parent().hide(); $(this).parent().parent().prev().show(); } else if ($.inArray(e.keyCode, [45, 46, 8, 9, 27, 13, 110, 188,109]) !== -1 || // Allow: Ctrl+A, Command+A (e.keyCode == 65 && ( e.ctrlKey === true || e.metaKey === true ) ) || // Allow: home, end, left, right, down, up (e.keyCode >= 35 && e.keyCode <= 40)) { // let it happen, don't do anything return; } // Ensure that it is a number and stop the keypress if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105) && e.keyCode != 173) { // 173 = minus e.preventDefault(); } }); elem.parent().parent().next().find('input').on('focusout',function() { var newVal = $(this).val(); if (newVal == '') { newVal = 0; } newVal = newVal.replace(',', '.'); newVal = parseFloat(newVal).toFixed(2); newVal = newVal.replace('.', ','); $(this).parent().parent().prev().children('td').first().text( newVal ); $(this).parent().parent().hide(); $(this).parent().parent().prev().show(); }); } function PosAbschlussZellenwert(zelle) { var anzahl = $("[name="+zelle+"]").val(); //TODO nur ganze zahlen oder nichts erlauben var wert = zelle.replace('eur00','0.0'); wert = wert.replace('eur0','0.'); wert = wert.replace('eur',''); wert = wert * anzahl; wert = parseFloat(wert).toFixed(2); wert = wert.replace('.', ','); $("[name="+zelle+"label]").html(wert); PosAbschlussCalcall(); } function PosAbschlussCalcall() { var scheine = 0; var muenzen = 0; $('div.SCHEINE').each(function(){ var schein = $(this).html().replace(',','.'); if(schein == '')schein = 0; scheine = scheine + parseFloat(schein); }); $('div.MUENZEN').each(function(){ var muenze = $(this).html().replace(',','.'); if(muenze == '')muenze = 0; muenzen = muenzen + parseFloat(muenze); }); var gesamt = scheine + muenzen; scheine = addCommas(scheine.toFixed(2)); muenzen = addCommas(muenzen.toFixed(2)); var gesamt2 = addCommas(gesamt.toFixed(2)); $('#gesamtscheine').html(scheine +' EUR'); $('#gesamtmuenzen').html(muenzen +' EUR'); $('#gesamt').html(gesamt2 + ' EUR'); var soll = $('#soll').html().replace(' EUR',''); soll = soll.replace('.',''); soll = soll.replace(',','.'); soll = parseFloat(soll); var diff = gesamt - soll; if(diff == 0) { $('#differenz').html('0,00 EUR'); $('#korrekturtext').html('Es ist keine Differenz vorhanden'); }else{ diff = addCommas(diff.toFixed(2)); $('#differenz').html(''+diff+' EUR'); $('#korrekturtext').html('Es ist eine Differenz von '+diff+' EUR vorhanden. Beim Festschreiben wird diese als Differenzbuchung automatisch angelegt und verbucht.'); } } function addCommas(nStr) { nStr += ''; var x = nStr.split('.'); var x1 = x[0]; var x2 = x.length > 1 ? ',' + x[1] : ''; var rgx = /(\d+)(\d{3})/; while (rgx.test(x1)) { x1 = x1.replace(rgx, '$1' + '.' + '$2'); } return x1 + x2; }