let DBSACHEN = "php/DBSachen.php"; var DB = new Object(); // region externe funktionen/methoden // nur schauen, ob das bauteil schon in der Tabelle um zu entscheiden // on ein INSERT oder ein UPDATE gefahren werden muss DB.getBauteilStatusNew = function(txlcode) { myJSON = { func: "getBauteilStatusNew", TXLCode: txlcode }; bauteilSchonInDBJSON = $.ajax({ url: DBSACHEN, data: { json: JSON.stringify(myJSON) }, async: false, method: "POST" }); return bauteilSchonInDBJSON.responseText; } /** GETBAUTEILSTATUS * erwartet TXLCode * gibt -1, 0, 1 oder 2 zurueck * * -1 - undefinierter Fehler * 0 - Bauteil in DB und ohne Messwerte * 1 - Bauteil in DB und schon gemessen * 2 - Bauteil nicht in DB vorhanden * **/ DB.getBauteilStatus = function(txlcode) { data = getMesswertStatusJSON(txlcode); try{ arr = JSON.parse(data.responseText); if ( arr[0] === "n" && arr[1] === "u" && arr[2] === "l" && arr[3] === "l" ) { if ( DEBUGmany ) { console.log("dbsachen.js: Bauteilstatus von " + txlcode + ": 2 (n. in DB)"); } return 2; } else if ( arr[0] === "0" && arr[1] === "0" && arr[2] === "0" && arr[3] === "0" ) { if ( DEBUGmany ) { console.log("dbsachen.js: Bauteilstatus von " + txlcode + ": 0 (in DB ohne Messwerte)"); } return 0; } else { if ( DEBUGmany ) { console.log("dbsachen.js: Bauteilstatus von " + txlcode + ": 1 (schon gemessen)"); } return 1; } } catch(e) { console.log("dbsachen.js: Fehler in Funktion getBauteilStatus:\n" + e.name + "\n" + e.message); return -1; } } /** Aktualisiere die Bauteile mit der zugeordneten Nummer der Lieferbox * * * */ DB.updateBauteilLieferbox = function(dataArr) { myJSON = { func: "updateBauteilLieferbox", newBoxNr: dataArr[0], part1: dataArr[1], part2: dataArr[2], part3: dataArr[3], part4: dataArr[4], part5: dataArr[5], part6: dataArr[6], part7: dataArr[7], part8: dataArr[8], part9: dataArr[9] }; responseJSON = $.ajax({ url: DBSACHEN, data: { json: JSON.stringify(myJSON) }, async: false, method: "POST" }); return responseJSON.responseText; } /** LADE LETZTE BELADUNG * holt die TXLCodes und SchottOrderNummern aus der DB, * erhoeht die TXLCodes um 1 und traegt die neuen TXLCodes * und SONs in die einzelnen felder ein * */ DB.loadLetzteBeladung = function(ofenname) { myJSON = { func: "letzteBeladung", ofenname: ofenname }; letzteBeladungJSON = $.ajax({ url: DBSACHEN, data: { json: JSON.stringify(myJSON) }, async: false, method: "POST" }); return letzteBeladungJSON.responseText; } DB.getBauteile = function(bauteiltyp) { myJSON = { func: "getBauteile", bauteiltyp: bauteiltyp }; bauteileJSON = $.ajax({ url: DBSACHEN, data: { json: JSON.stringify(myJSON) }, async: false, method: "POST" }); return bauteileJSON.responseText; } DB.getLastBoxNr = function(flavor) { myJSON = { func: "getLastBoxNr", flavor: flavor }; JSONres = $.ajax({ url: DBSACHEN, data: { json: JSON.stringify(myJSON) }, async: false, method: "POST" }); return JSONres.responseText; } DB.getBauteilLieferbox = function(txlcode) { myJSON = { func: "getBauteilLieferbox", TXLCode: txlcode }; JSONres = $.ajax({ url: DBSACHEN, data: { json: JSON.stringify(myJSON) }, async: false, method: "POST" }); return JSONres.responseText; } DB.getBoxinhalte = function(flavor) { myJSON = { func: "getBoxinhalte", flavor: flavor }; JSONres = $.ajax({ url: DBSACHEN, data: { json: JSON.stringify(myJSON) }, async: false, method: "POST" }); return JSONres.responseText; } DB.getAllBoxNr = function(flavor) { myJSON = { func: "getAllBoxNr", flavor: flavor }; JSONres = $.ajax({ url: DBSACHEN, data: { json: JSON.stringify(myJSON) }, async: false, method: "POST" }); return JSONres.responseText; } DB.getBoxMesswerte = function(flavor, boxNr) { myJSON = { func: "getBoxMesswerte", flavor: flavor, boxNr: boxNr }; JSONres = $.ajax({ url: DBSACHEN, data: { json: JSON.stringify(myJSON) }, async: false, method: "POST" }); return JSONres.responseText; } DB.getSingleBoxinhalt = function(flavor, boxNr) { myJSON = { func: "getSingleBoxinhalt", flavor: flavor, boxNr: boxNr }; JSONres = $.ajax({ url: DBSACHEN, data: { json: JSON.stringify(myJSON) }, async: false, method: "POST" }); return JSONres.responseText; } DB.getOldBauteile = function(flavor, limit, startFrom) { myJSON = { func: "getAllOldBauteile", flavor: flavor, limit: limit, startFrom: startFrom }; JSONres = $.ajax({ url: DBSACHEN, data: { json: JSON.stringify(myJSON) }, async: false, method: "POST" }); return JSONres.responseText; } DB.insertBox = function(myJSON) { insertBoxJSON = $.ajax({ url: DBSACHEN, data: { json: JSON.stringify(myJSON) }, async: false, method: "POST" }); console.log("DB.insertbox:insertBoxJSON: " + insertBoxJSON); return insertBoxJSON.responseText; } /** BELADUNG EINTRAGEN * erwartet ein assoz. Array/Object, welches dann in ein JSON gewandelt * und an DBSachen.php weiter gereicht wird, welches dann die eintraege * validiert und in die DB eintraegt **/ DB.insertBeladung = function(myJSON) { $.post(DBSACHEN, { json: JSON.stringify(myJSON) }, function(data, status) { if (status == "success") { console.log("returned data: " + data); if ( data.substring(0, 15) === "Execute failed:") { swal("Fehler", "Der MySQL-Server meldete einen Fehler:\n" + data, "error"); } else if ( $.isNumeric(data) ) { swal("Fertig", "Beladung mit " + data + " Teilen wurde eingetragen.", "success"); } } else { swal("Fehler", "Fehler beim eintragen der Beladung. Status: " + status + "\nFunc dbsachen.js->insertBeladung", "error"); } }); } DB.updateMesswerteGeneric = function(messwertJSON){ response = $.ajax( { url: DBSACHEN, data: { json: JSON.stringify(messwertJSON)}, async: false, method: "POST" } ); return response; } DB.sendJSONGeneric = function(myJSON){ response = $.ajax( { url: DBSACHEN, data: { json: JSON.stringify(myJSON)}, async: false, method: "POST" } ); return response; } /** BELADUNG EINTRAGEN * sammelt alle eintraege des belade-formumars und gibt sie * an DBSachen.php weiter, welches dann die eintraege validiert und * in die DB eintraegt **/ DB.insertBeladungKF480 = function () { /* TODO: * debug-ausgaben zu showErrorMSG() */ var fehlendeSON = 0; var fehlerhafteCodes = 0; var eingetrageneTeile = 0; myJSON = new Object(); myJSON = $('form').serializeObject(); if (myJSON.tbE01KF480 !== "") { eingetrageneTeile += 1; if (helper.looksLikeTXLCode(myJSON.tbE01KF480) > 0) { fehlerhafteCodes += 1; } if (myJSON.SON01KF480 === "") { fehlendeSON += 1; } } if (myJSON.tbE02KF480 !== "") { eingetrageneTeile += 1; if (helper.looksLikeTXLCode(myJSON.tbE02KF480) > 0) { fehlerhafteCodes += 1; } if (myJSON.SON02KF480 === "") { fehlendeSON += 1; } } if (myJSON.tbE03KF480 !== "") { eingetrageneTeile += 1; if (helper.looksLikeTXLCode(myJSON.tbE03KF480) > 0) { fehlerhafteCodes += 1; } if (myJSON.SON03KF480 === "") { fehlendeSON += 1; } } if (myJSON.tbE04KF480 !== "") { eingetrageneTeile += 1; if (helper.looksLikeTXLCode(myJSON.tbE04KF480) > 0) { fehlerhafteCodes += 1; } if (myJSON.SON04KF480 === "") { fehlendeSON += 1; } } if (myJSON.tbE05KF480 !== "") { eingetrageneTeile += 1; if (helper.looksLikeTXLCode(myJSON.tbE05KF480) > 0) { fehlerhafteCodes += 1; } if (myJSON.SON05KF480 === "") { fehlendeSON += 1; } } if (myJSON.tbE06KF480 !== "") { eingetrageneTeile += 1; if (helper.looksLikeTXLCode(myJSON.tbE06KF480) > 0) { fehlerhafteCodes += 1; } if (myJSON.SON06KF480 === "") { fehlendeSON += 1; } } if (myJSON.tbE07KF480 !== "") { eingetrageneTeile += 1; if (helper.looksLikeTXLCode(myJSON.tbE07KF480) > 0) { fehlerhafteCodes += 1; } if (myJSON.SON07KF480 === "") { fehlendeSON += 1; } } if (myJSON.tbE08KF480 !== "") { eingetrageneTeile += 1; if (helper.looksLikeTXLCode(myJSON.tbE08KF480) > 0) { fehlerhafteCodes += 1; } if (myJSON.SON08KF480 === "") { fehlendeSON += 1; } } if (myJSON.tbE09KF480 !== "") { eingetrageneTeile += 1; if (helper.looksLikeTXLCode(myJSON.tbE09KF480) > 0) { fehlerhafteCodes += 1; } if (myJSON.SON09KF480 === "") { fehlendeSON += 1; } } if (myJSON.tbE10KF480 !== "") { eingetrageneTeile += 1; if (helper.looksLikeTXLCode(myJSON.tbE10KF480) > 0) { fehlerhafteCodes += 1; } if (myJSON.SON10KF480 === "") { fehlendeSON += 1; } } if (myJSON.tbE11KF480 !== "") { eingetrageneTeile += 1; if (helper.looksLikeTXLCode(myJSON.tbE11KF480) > 0) { fehlerhafteCodes += 1; } if (myJSON.SON11KF480 === "") { fehlendeSON += 1; } } if (myJSON.tbE12KF480 !== "") { eingetrageneTeile += 1; if (helper.looksLikeTXLCode(myJSON.tbE12KF480) > 0) { fehlerhafteCodes += 1; } if (myJSON.SON12KF480 === "") { fehlendeSON += 1; } } if (myJSON.tbE13KF480 !== "") { eingetrageneTeile += 1; if (helper.looksLikeTXLCode(myJSON.tbE13KF480) > 0) { fehlerhafteCodes += 1; } if (myJSON.SON13KF480 === "") { fehlendeSON += 1; } } if (myJSON.tbE14KF480 !== "") { eingetrageneTeile += 1; if (helper.looksLikeTXLCode(myJSON.tbE14KF480) > 0) { fehlerhafteCodes += 1; } if (myJSON.SON14KF480 === "") { fehlendeSON += 1; } } if (myJSON.tbE15KF480 !== "") { eingetrageneTeile += 1; if (helper.looksLikeTXLCode(myJSON.tbE15KF480) > 0) { fehlerhafteCodes += 1; } if (myJSON.SON15KF480 === "") { fehlendeSON += 1; } } if (myJSON.tbE16KF480 !== "") { eingetrageneTeile += 1; if (helper.looksLikeTXLCode(myJSON.tbE16KF480) > 0) { fehlerhafteCodes += 1; } if (myJSON.SON16KF480 === "") { fehlendeSON += 1; } } if (myJSON.tbE17KF480 !== "") { eingetrageneTeile += 1; if (helper.looksLikeTXLCode(myJSON.tbE17KF480) > 0) { fehlerhafteCodes += 1; } if (myJSON.SON17KF480 === "") { fehlendeSON += 1; } } if (myJSON.tbE18KF480 !== "") { eingetrageneTeile += 1; if (helper.looksLikeTXLCode(myJSON.tbE18KF480) > 0) { fehlerhafteCodes += 1; } if (myJSON.SON18KF480 === "") { fehlendeSON += 1; } } if (myJSON.tbE19KF480 !== "") { eingetrageneTeile += 1; if (helper.looksLikeTXLCode(myJSON.tbE19KF480) > 0) { fehlerhafteCodes += 1; } if (myJSON.SON19KF480 === "") { fehlendeSON += 1; } } if (myJSON.tbE20KF480 !== "") { eingetrageneTeile += 1; if (helper.looksLikeTXLCode(myJSON.tbE20KF480) > 0) { fehlerhafteCodes += 1; } if (myJSON.SON20KF480 === "") { fehlendeSON += 1; } } if (eingetrageneTeile === 0) { alert("Eine Leerfahrt?"); } if (fehlendeSON > 0) { alert("Fehlende Schott-Order-Nummern - bitte bereinigen"); } if (fehlerhafteCodes > 0) { alert("Falscher Code - bitte bereinigen"); } if ( DEBUG ) { console.log( "teile:" + eingetrageneTeile + "\n" + "fehlSON:" + fehlendeSON + "\n" + "fehlCodes:" + fehlerhafteCodes ); } if (fehlendeSON === 0 && fehlerhafteCodes === 0 && eingetrageneTeile > 0) { $.post(DBSACHEN, { json: JSON.stringify(myJSON) }, function(data, status) { if (status == "success") { if ( DEBUGmany ) { console.log("returned data: " + data.substring(0, 15)); } if ( data.substring(0, 15) === "Execute failed:") { showErrorModal("MySQL-Fehler", "Es trat ein Fehler beim SQL-Query auf:\n" + data, ""); } else if ( $.isNumeric(data) ) { showErrorModal("Eingetragen", "Beladung mit " + data + " Teilen wurde eingetragen.", ""); } } else { showErrorModal("Fehler", "Fehler beim Eintragen der Beladung. Status:" + status, ""); } }); if ( DEBUG ) { console.log(JSON.stringify(myJSON)); } } } DB.insertBeladungKF80 = function () { /* TODO: * debug-ausgaben zu showErrorMSG() */ var fehlendeSON = 0; var fehlerhafteCodes = 0; var eingetrageneTeile = 0; myJSON = new Object(); myJSON = $('form').serializeObject(); if (myJSON.tbE01KF80 !== "") { eingetrageneTeile += 1; if (helper.looksLikeTXLCode(myJSON.tbE01KF80) > 0) { fehlerhafteCodes += 1; } if (myJSON.SON01KF80 === "") { fehlendeSON += 1; } } if (myJSON.tbE02KF80 !== "") { eingetrageneTeile += 1; if (helper.looksLikeTXLCode(myJSON.tbE02KF80) > 0) { fehlerhafteCodes += 1; } if (myJSON.SON02KF80 === "") { fehlendeSON += 1; } } if (myJSON.tbE03KF80 !== "") { eingetrageneTeile += 1; if (helper.looksLikeTXLCode(myJSON.tbE03KF80) > 0) { fehlerhafteCodes += 1; } if (myJSON.SON03KF80 === "") { fehlendeSON += 1; } } if (myJSON.tbE04KF80 !== "") { eingetrageneTeile += 1; if (helper.looksLikeTXLCode(myJSON.tbE04KF80) > 0) { fehlerhafteCodes += 1; } if (myJSON.SON04KF80 === "") { fehlendeSON += 1; } } if (myJSON.tbE05KF80 !== "") { eingetrageneTeile += 1; if (helper.looksLikeTXLCode(myJSON.tbE05KF80) > 0) { fehlerhafteCodes += 1; } if (myJSON.SON05KF80 === "") { fehlendeSON += 1; } } if (myJSON.tbE06KF80 !== "") { eingetrageneTeile += 1; if (helper.looksLikeTXLCode(myJSON.tbE06KF80) > 0) { fehlerhafteCodes += 1; } if (myJSON.SON06KF80 === "") { fehlendeSON += 1; } } if (myJSON.tbE07KF80 !== "") { eingetrageneTeile += 1; if (helper.looksLikeTXLCode(myJSON.tbE07KF80) > 0) { fehlerhafteCodes += 1; } if (myJSON.SON07KF80 === "") { fehlendeSON += 1; } } if (myJSON.tbE08KF80 !== "") { eingetrageneTeile += 1; if (helper.looksLikeTXLCode(myJSON.tbE08KF80) > 0) { fehlerhafteCodes += 1; } if (myJSON.SON08KF80 === "") { fehlendeSON += 1; } } if (myJSON.tbE09KF80 !== "") { eingetrageneTeile += 1; if (helper.looksLikeTXLCode(myJSON.tbE09KF80) > 0) { fehlerhafteCodes += 1; } if (myJSON.SON09KF80 === "") { fehlendeSON += 1; } } if (myJSON.tbE10KF80 !== "") { eingetrageneTeile += 1; if (helper.looksLikeTXLCode(myJSON.tbE10KF80) > 0) { fehlerhafteCodes += 1; } if (myJSON.SON10KF80 === "") { fehlendeSON += 1; } } /* if (myJSON.tbE11KF480 !== "") { eingetrageneTeile += 1; if (helper.looksLikeTXLCode(myJSON.tbE11KF480) > 0) { fehlerhafteCodes += 1; } if (myJSON.SON11KF480 === "") { fehlendeSON += 1; } } if (myJSON.tbE12KF480 !== "") { eingetrageneTeile += 1; if (helper.looksLikeTXLCode(myJSON.tbE12KF480) > 0) { fehlerhafteCodes += 1; } if (myJSON.SON12KF480 === "") { fehlendeSON += 1; } } if (myJSON.tbE13KF480 !== "") { eingetrageneTeile += 1; if (helper.looksLikeTXLCode(myJSON.tbE13KF480) > 0) { fehlerhafteCodes += 1; } if (myJSON.SON13KF480 === "") { fehlendeSON += 1; } } if (myJSON.tbE14KF480 !== "") { eingetrageneTeile += 1; if (helper.looksLikeTXLCode(myJSON.tbE14KF480) > 0) { fehlerhafteCodes += 1; } if (myJSON.SON14KF480 === "") { fehlendeSON += 1; } } if (myJSON.tbE15KF480 !== "") { eingetrageneTeile += 1; if (helper.looksLikeTXLCode(myJSON.tbE15KF480) > 0) { fehlerhafteCodes += 1; } if (myJSON.SON15KF480 === "") { fehlendeSON += 1; } } if (myJSON.tbE16KF480 !== "") { eingetrageneTeile += 1; if (helper.looksLikeTXLCode(myJSON.tbE16KF480) > 0) { fehlerhafteCodes += 1; } if (myJSON.SON16KF480 === "") { fehlendeSON += 1; } } if (myJSON.tbE17KF480 !== "") { eingetrageneTeile += 1; if (helper.looksLikeTXLCode(myJSON.tbE17KF480) > 0) { fehlerhafteCodes += 1; } if (myJSON.SON17KF480 === "") { fehlendeSON += 1; } } if (myJSON.tbE18KF480 !== "") { eingetrageneTeile += 1; if (helper.looksLikeTXLCode(myJSON.tbE18KF480) > 0) { fehlerhafteCodes += 1; } if (myJSON.SON18KF480 === "") { fehlendeSON += 1; } } if (myJSON.tbE19KF480 !== "") { eingetrageneTeile += 1; if (helper.looksLikeTXLCode(myJSON.tbE19KF480) > 0) { fehlerhafteCodes += 1; } if (myJSON.SON19KF480 === "") { fehlendeSON += 1; } } if (myJSON.tbE20KF480 !== "") { eingetrageneTeile += 1; if (helper.looksLikeTXLCode(myJSON.tbE20KF480) > 0) { fehlerhafteCodes += 1; } if (myJSON.SON20KF480 === "") { fehlendeSON += 1; } } */ if (eingetrageneTeile === 0) { showErrorModal("Netter Versuch", "Eine Leerfahrt?", "eine Beladung ohne Bauteile kann nicht eingetragen werden"); } if (fehlendeSON > 0) { showErrorModal("Da wurde was vergessen", "Fehlende Schott-Order-Nummern - bitte bereinigen", "Wir müssen doch die Teile zurückverfolgen können ... auch wenn's nervt."); } if (fehlerhafteCodes > 0) { showErrorModal("Tippfehler?", "Falscher Code - bitte bereinigen", "Da hat sich wohl ein falscher Trixell-Code eingschlichen. Schau nochmal drüber."); } console.log( "teile:" + eingetrageneTeile + "\n" + "fehlSON:" + fehlendeSON + "\n" + "fehlCodes:" + fehlerhafteCodes ); if (fehlendeSON === 0 && fehlerhafteCodes === 0 && eingetrageneTeile > 0) { $.post(DBSACHEN, { json: JSON.stringify(myJSON) }, function(data, status) { if (status == "success") { console.log("returned data: " + data.substring(0, 15)); if ( data.substring(0, 15) === "Execute failed:") { showErrorModal("MySQL-Fehler", "Es trat ein Fehler beim SQL-Query auf:\n" + data, "Mögliche Fehler wären: \n(1062) Duplicate entry: Doppeltes Bauteil"); } else if ( $.isNumeric(data) ) { showErrorModal("Eingetragen", "Beladung mit " + data + " Teilen wurde eingetragen.", ""); } } else { showErrorModal("Fehler", "Fehler beim Eintragen der Beladung. Status:" + status, ""); } }); if ( DEBUG ) { console.log(JSON.stringify(myJSON)); } } } // end region externe funktionen/methoden // region interne Funktionen function getMesswertStatusJSON(txlcode) { var myJSON = { "func" : "getMesswertStatus", "TXLCode" : txlcode }; response = $.ajax( { url: DBSACHEN, data: { json: JSON.stringify(myJSON)}, async: false, method: "POST" }); return response; } // end region