grunig-nodes
Version:
Grünig Nodes Library
71 lines (59 loc) • 3.14 kB
JavaScript
module.exports = function(RED) {
function G_SQLManager(config) {
RED.nodes.createNode(this, config);
var node = this;
// Nachrichtenverarbeitungsfunktion
node.on('input', function(msg) {
// Einstellungen speichern
var inputFrameId = config.frameId;
var inputFunct = config.function;
var inputProcess = config.process;
var frameId, funct, process;
if (inputFrameId === ""){
frameId = msg.payload.FrameID;
}
else {
frameId = inputFrameId
}
if (inputProcess === "none"){
process = msg.payload.Process + "PN";
}
else {
process = inputProcess;
}
if (inputFunct === "none") {
funct = msg.payload.Function;
}
else {
funct = inputFunct;
}
msg.payload = {}
msg.payload.frameID = frameId;
if (frameId != 0) {
// MySQL-Verbindung verwenden, um die Abfrage auszuführen
if (funct == "ReadAllData") {
msg.topic = "SELECT `FrameId`.`FrameId`, `Frame`.*, `FrameData`.`ManufacturingDate`, `ProfileType`.`Profile`, `Material`.`Material`, `Mesh`.*, `MeshData`.*, `MeshAngle`.`Angle`, `Program`.*, `Customized`.*" +
" FROM`FrameId` " +
" LEFT JOIN `Frame` ON`FrameId`.`FKey_Frame` = `Frame`.`PKey_Frame` " +
" LEFT JOIN `FrameData` ON`FrameId`.`FKey_FrameData` = `FrameData`.`PKey_FrameData` " +
" LEFT JOIN `ProfileType` ON`Frame`.`FKey_ProfileType` = `ProfileType`.`PKey_ProfileType` " +
" LEFT JOIN `Material` ON`Frame`.`FKey_Material` = `Material`.`PKey_Material` " +
" LEFT JOIN `Mesh` ON`FrameId`.`FKey_Mesh` = `Mesh`.`PKey_Mesh` " +
" LEFT JOIN `MeshData` ON`FrameId`.`FKey_MeshData` = `MeshData`.`PKey_MeshData` " +
" LEFT JOIN `MeshAngle` ON`MeshData`.`FKey_MeshAngle` = `MeshAngle`.`PKey_MeshAngle` " +
" LEFT JOIN `Program` ON`FrameId`.`FKey_Program` = `Program`.`PKey_Program` " +
" LEFT JOIN `Customized` ON`FrameId`.`FKey_Customized` = `Customized`.`PKey_Customized` " +
" WHERE FrameID = ?";
} else {
msg.topic = "SELECT `FrameId`.`PKey_FrameId`, `Program`.*, `Frame`.`TypNo` " +
" FROM `FrameId` " +
" LEFT JOIN `Program` ON `FrameId`.`FKey_Program` = `Program`.`PKey_Program` " +
" LEFT JOIN `Frame` ON `FrameId`.`FKey_Frame` = `Frame`.`PKey_Frame` " +
" WHERE FrameID = ?";
}
}
});
}
// Node-Typ registrieren
RED.nodes.registerType("G-SQLManager", G_SQLManager);
};