add setting wristband
This commit is contained in:
+41
-39
@@ -11,10 +11,10 @@ router
|
||||
.get('/', (req, res) => {
|
||||
res.send({ name: 'WebIO Modbus API' });
|
||||
})
|
||||
.post('*', async(req,res,n) => {
|
||||
try{
|
||||
.post('*', async(req, res, n) => {
|
||||
try {
|
||||
res.db = await mysql.getConn();
|
||||
}catch(e){
|
||||
} catch (e) {
|
||||
console.log(`Get DB Connection ERROR ${e}`);
|
||||
return n('ERR8100');
|
||||
}
|
||||
@@ -27,7 +27,7 @@ router
|
||||
let param = [config.db.db5, 'device'];
|
||||
|
||||
res.db.query(query, param, (err, row) => {
|
||||
if (err) return rt.err(res,err,n,'ERR8000');
|
||||
if (err) return rt.err(res, err, n, 'ERR8000');
|
||||
|
||||
res.api_res = {
|
||||
record: tool.checkArray(row)
|
||||
@@ -47,7 +47,7 @@ router
|
||||
let param = [config.db.db5, 'device', arr.data.id];
|
||||
|
||||
res.db.query(query, param, (err, row) => {
|
||||
if (err || row.length == 0) return rt.err(res,err,n,'ERR8000');
|
||||
if (err || row.length == 0) return rt.err(res, err, n, 'ERR8000');
|
||||
|
||||
res.api_res = {
|
||||
record: tool.checkArray(row),
|
||||
@@ -80,7 +80,7 @@ router
|
||||
}
|
||||
return n();
|
||||
})
|
||||
.catch(err => rt.err(res,err,n,'ERR8000'));
|
||||
.catch(err => rt.err(res, err, n, 'ERR8000'));
|
||||
});
|
||||
})
|
||||
.post('/getporttype', (req, res, n) => {
|
||||
@@ -90,7 +90,7 @@ router
|
||||
let param = [config.db.db5, 'porttype'];
|
||||
|
||||
res.db.query(query, param, (err, row) => {
|
||||
if (err) return rt.err(res,err,n,'ERR8000');
|
||||
if (err) return rt.err(res, err, n, 'ERR8000');
|
||||
res.api_res = {
|
||||
record: tool.checkArray(row)
|
||||
};
|
||||
@@ -115,7 +115,7 @@ router
|
||||
let param = [config.db.db5, 'device', arr.data.name, arr.data.node, type, u, u];
|
||||
|
||||
res.db.query(query, param, (err, row) => {
|
||||
if (err) return rt.err(res,err,n,'ERR8001');
|
||||
if (err) return rt.err(res, err, n, 'ERR8001');
|
||||
|
||||
res.api_res = {
|
||||
record: []
|
||||
@@ -138,7 +138,7 @@ router
|
||||
let query = "select count(*) as num from ??.?? where `node` = ? and `uid` != ?";
|
||||
let param = [config.db.db5, 'device', arr.data.node, arr.data.id];
|
||||
res.db.query(query, param, (err, row) => {
|
||||
if (err || row.length == 0) return rt.err(res,err,n,'ERR8000');
|
||||
if (err || row.length == 0) return rt.err(res, err, n, 'ERR8000');
|
||||
if (row[0].num > 0) return n('ERR0047');
|
||||
|
||||
let u = '';
|
||||
@@ -155,7 +155,7 @@ router
|
||||
`uid` = ?";
|
||||
let param = [config.db.db5, 'device', arr.data.name, arr.data.node, type, u, arr.data.id];
|
||||
res.db.query(query, param, (err, row) => {
|
||||
if (err) return rt.err(res,err,n,'ERR8002');
|
||||
if (err) return rt.err(res, err, n, 'ERR8002');
|
||||
|
||||
let q = "delete from ??.?? where `node` in (?)";
|
||||
let p = [config.db.db6, 'jcmbrt', [arr.data.node, arr.data.original_node]];
|
||||
@@ -176,6 +176,8 @@ router
|
||||
if (!arr.data) return n('ERR0000');
|
||||
if (!arr.data.id) return n('ERR0028');
|
||||
|
||||
res.db.query(`use ${config.db.db5}`);
|
||||
|
||||
let query = "delete d,i,s,rt from ??.?? d \
|
||||
left join ??.?? i \
|
||||
on d.`uid` = i.`devuid` \
|
||||
@@ -187,7 +189,7 @@ router
|
||||
d.`uid` = ?";
|
||||
let param = [config.db.db5, 'device', config.db.db5, 'iolist', config.db.db5, 'aioset', config.db.db6, 'jcmbrt', arr.data.id];
|
||||
res.db.query(query, param, (err, row) => {
|
||||
if (err) return rt.err(res,err,n,'ERR8003');
|
||||
if (err) return rt.err(res, err, n, 'ERR8003');
|
||||
res.api_res = {
|
||||
record: []
|
||||
};
|
||||
@@ -218,7 +220,7 @@ router
|
||||
let param = [config.db.db6, 'jcmbrt', config.db.db5, 'device', config.db.db5, 'iolist', arr.data.type, config.db.db5, 'aioset', arr.data.id, arr.data.type];
|
||||
|
||||
res.db.query(query, param, (err, row) => {
|
||||
if (err) return rt.err(res,err,n,'ERR8000');
|
||||
if (err) return rt.err(res, err, n, 'ERR8000');
|
||||
|
||||
res.api_res = {
|
||||
record: tool.checkArray(row)
|
||||
@@ -235,7 +237,7 @@ router
|
||||
let query = "select * from ??.?? where `uid` = ? ";
|
||||
let param = [config.db.db5, 'iolist', arr.data.id];
|
||||
res.db.query(query, param, (err, row) => {
|
||||
if (err) return rt.err(res,err,n,'ERR8000');
|
||||
if (err) return rt.err(res, err, n, 'ERR8000');
|
||||
|
||||
res.api_res = {
|
||||
record: tool.checkArray(row)
|
||||
@@ -263,14 +265,14 @@ router
|
||||
and `addr` = ?";
|
||||
let param = [config.db.db5, 'iolist', arr.data.id, arr.data.type, arr.data.addr];
|
||||
res.db.query(query, param, (err, row) => {
|
||||
if (err || row.length == 0) return rt.err(res,err,n,'ERR8000');
|
||||
if (err || row.length == 0) return rt.err(res, err, n, 'ERR8000');
|
||||
|
||||
if (row[0].c > 0) return n('ERR0054');
|
||||
|
||||
let query = "insert into ??.?? (`devuid`,`type`,`addr`,`num`,`datalen`,`ctime`,`mtime`) values (?, ?, ?, ?, ?, unix_timestamp(), unix_timestamp())";
|
||||
let param = [config.db.db5, 'iolist', arr.data.id, arr.data.type, arr.data.addr, arr.data.num, dlen];
|
||||
res.db.query(query, param, (err, row) => {
|
||||
if (err) return rt.err(res,err,n,'ERR8001');
|
||||
if (err) return rt.err(res, err, n, 'ERR8001');
|
||||
|
||||
res.api_res = {
|
||||
record: []
|
||||
@@ -301,7 +303,7 @@ router
|
||||
and i2.`uid` is not null ";
|
||||
let param = [config.db.db5, 'iolist', config.db.db5, 'iolist', arr.data.addr, arr.data.id, arr.data.id];
|
||||
res.db.query(query, param, (err, row) => {
|
||||
if (err || row.length == 0) return rt.err(res,err,n,'ERR8000');
|
||||
if (err || row.length == 0) return rt.err(res, err, n, 'ERR8000');
|
||||
if (row[0].c > 0) return n('ERR0054');
|
||||
|
||||
let q = "update ??.?? set \
|
||||
@@ -313,7 +315,7 @@ router
|
||||
`uid` = ?";
|
||||
let p = [config.db.db5, 'iolist', arr.data.addr, arr.data.num, dlen, arr.data.id];
|
||||
res.db.query(q, p, (err, row) => {
|
||||
if (err) return rt.err(res,err,n,'ERR8002');
|
||||
if (err) return rt.err(res, err, n, 'ERR8002');
|
||||
|
||||
res.api_res = {
|
||||
record: []
|
||||
@@ -338,7 +340,7 @@ router
|
||||
i.`uid` = ?";
|
||||
let param = [config.db.db5, 'iolist', config.db.db5, 'aioset', arr.data.id];
|
||||
res.db.query(query, param, (err, row) => {
|
||||
if (err) return rt.err(res,err,n,'ERR8003');
|
||||
if (err) return rt.err(res, err, n, 'ERR8003');
|
||||
|
||||
res.api_res = {
|
||||
record: []
|
||||
@@ -359,7 +361,7 @@ router
|
||||
i.`uid` = ?";
|
||||
let param = [config.db.db5, 'aioset', config.db.db5, 'iolist', arr.data.id];
|
||||
res.db.query(query, param, (err, row) => {
|
||||
if (err) return rt.err(res,err,n,'ERR8000');
|
||||
if (err) return rt.err(res, err, n, 'ERR8000');
|
||||
|
||||
res.api_res = {
|
||||
record: tool.checkArray(row)
|
||||
@@ -376,7 +378,7 @@ router
|
||||
let query = "select * from ??.?? where `uid` = ?";
|
||||
let param = [config.db.db5, 'aioset', arr.data.id];
|
||||
res.db.query(query, param, (err, row) => {
|
||||
if (err) return rt.err(res,err,n,'ERR8000');
|
||||
if (err) return rt.err(res, err, n, 'ERR8000');
|
||||
|
||||
res.api_res = {
|
||||
record: tool.checkArray(row)
|
||||
@@ -394,7 +396,7 @@ router
|
||||
let query = "delete from ??.?? where `uid` = ?";
|
||||
let param = [config.db.db5, 'aioset', arr.data.id];
|
||||
res.db.query(query, param, (err, row) => {
|
||||
if (err) return rt.err(res,err,n,'ERR8003');
|
||||
if (err) return rt.err(res, err, n, 'ERR8003');
|
||||
res.api_res = {
|
||||
record: []
|
||||
};
|
||||
@@ -418,7 +420,7 @@ router
|
||||
let query = "select count(*) as count from ??.?? where `iouid` = ? and `portnum` = ?";
|
||||
let param = [config.db.db5, 'aioset', arr.data.iouid, arr.data.portnum];
|
||||
res.db.query(query, param, (err, row) => {
|
||||
if (err || row.length == 0) return rt.err(res,err,n,'ERR8000');
|
||||
if (err || row.length == 0) return rt.err(res, err, n, 'ERR8000');
|
||||
|
||||
if (row[0].count > 0) return n('ERR0054');
|
||||
|
||||
@@ -426,7 +428,7 @@ router
|
||||
(?, ?, ?, ?, ?, ?, ?, ?, unix_timestamp(), unix_timestamp())";
|
||||
let p = [config.db.db5, 'aioset', arr.data.iouid, arr.data.name, arr.data.portnum, arr.data.type, arr.data.range_min, arr.data.range_max, arr.data.scale_min, arr.data.scale_max];
|
||||
res.db.query(q, p, (err, row) => {
|
||||
if (err) return rt.err(res,err,n,'ERR8001');
|
||||
if (err) return rt.err(res, err, n, 'ERR8001');
|
||||
|
||||
res.api_res = {
|
||||
record: []
|
||||
@@ -458,7 +460,7 @@ router
|
||||
and `uid` != ?";
|
||||
let param = [config.db.db5, 'aioset', arr.data.iouid, arr.data.portnum, arr.data.id];
|
||||
res.db.query(query, param, (err, row) => {
|
||||
if (err || row.length == 0) return rt.err(res,err,n,'ERR8000');
|
||||
if (err || row.length == 0) return rt.err(res, err, n, 'ERR8000');
|
||||
if (row[0].length > 0) return n('ERR0054');
|
||||
|
||||
let query = "update ??.?? set \
|
||||
@@ -473,7 +475,7 @@ router
|
||||
where `uid` = ?";
|
||||
let param = [config.db.db5, 'aioset', arr.data.name, arr.data.portnum, arr.data.type, arr.data.range_min, arr.data.range_max, arr.data.scale_min, arr.data.scale_max, arr.data.id];
|
||||
res.db.query(query, param, (err, row) => {
|
||||
if (err) return rt.err(res,err,n,'ERR8002');
|
||||
if (err) return rt.err(res, err, n, 'ERR8002');
|
||||
|
||||
res.api_res = {
|
||||
record: []
|
||||
@@ -482,34 +484,34 @@ router
|
||||
});
|
||||
});
|
||||
})
|
||||
.post('/modbuscmd', (req,res,n) => {
|
||||
.post('/modbuscmd', (req, res, n) => {
|
||||
if (!config.permission.modbus) return n('ERR9000');
|
||||
if (!tool.checkPermission(req)) return n('ERR9000');
|
||||
let arr = req.body;
|
||||
if (!arr.data) return n('ERR0000');
|
||||
if(!arr.data.ip) return n('ERR0010');
|
||||
if(!('node' in arr.data) || arr.data.node.length == 0) return n('ERR0038');
|
||||
if(!('func' in arr.data) || arr.data.func.length == 0) return n('ERR0055');
|
||||
if(!('addr' in arr.data) || arr.data.addr.length == 0) return n('ERR0048');
|
||||
if(!('value' in arr.data) || arr.data.value.length == 0) return n('ERR0049');
|
||||
if (!arr.data.ip) return n('ERR0010');
|
||||
if (!('node' in arr.data) || arr.data.node.length == 0) return n('ERR0038');
|
||||
if (!('func' in arr.data) || arr.data.func.length == 0) return n('ERR0055');
|
||||
if (!('addr' in arr.data) || arr.data.addr.length == 0) return n('ERR0048');
|
||||
if (!('value' in arr.data) || arr.data.value.length == 0) return n('ERR0049');
|
||||
|
||||
let cmd = `mbtcpm ${arr.data.ip} ${arr.data.node} ${arr.data.func} ${arr.data.addr} ${arr.data.value}`;
|
||||
res.api_res = {
|
||||
record: []
|
||||
};
|
||||
exec(cmd, (err, stdout, stderr) => {
|
||||
let msg = err ? err.toString() : `${stdout}${stderr}`;
|
||||
res.api_res.record.push({msg});
|
||||
let msg = err ? err.toString() : `${stdout}${stderr}`;
|
||||
res.api_res.record.push({ msg });
|
||||
|
||||
n();
|
||||
})
|
||||
})
|
||||
.post('/getmodbuslog', (req,res,n) => {
|
||||
.post('/getmodbuslog', (req, res, n) => {
|
||||
if (!config.permission.modbus) return n('ERR9000');
|
||||
let arr = req.body;
|
||||
if(!arr.data) return n('ERR0000');
|
||||
if(!arr.data.ids || !Array.isArray(arr.data.ids)) return n('ERR0028');
|
||||
if(!arr.data.stime || !arr.data.etime) return n('ERR0015');
|
||||
if (!arr.data) return n('ERR0000');
|
||||
if (!arr.data.ids || !Array.isArray(arr.data.ids)) return n('ERR0028');
|
||||
if (!arr.data.stime || !arr.data.etime) return n('ERR0015');
|
||||
|
||||
let query = "select log.`node`, log.`type`, log.`port`, log.`value2` as value, log.`tst`, dev.`name` as devname, aio.`name` as aioname \
|
||||
from ??.?? log \
|
||||
@@ -531,8 +533,8 @@ router
|
||||
limit 0, 100";
|
||||
let param = [config.db.db10, 'jcmbrt', config.db.db5, 'device', config.db.db5, 'iolist', config.db.db5, 'aioset', arr.data.ids, arr.data.stime, arr.data.etime];
|
||||
|
||||
res.db.query(query, param, (err,row) => {
|
||||
if(err) return rt.err(res,err,n,'ERR8000');
|
||||
res.db.query(query, param, (err, row) => {
|
||||
if (err) return rt.err(res, err, n, 'ERR8000');
|
||||
res.api_res = {
|
||||
record: tool.checkArray(row)
|
||||
}
|
||||
|
||||
@@ -126,6 +126,7 @@ router
|
||||
n();
|
||||
})
|
||||
.post('/getstatus', (req, res, n) => {
|
||||
if (!config.permission.wristband) return n('ERR9000');
|
||||
|
||||
let query = "select w.`name`, coalesce(l.`name`, l2.`name`) as locname, ll.*\
|
||||
from ??.?? w\
|
||||
@@ -172,6 +173,9 @@ router
|
||||
case 'loc':
|
||||
query += `order by locname ${sortorder}`;
|
||||
break;
|
||||
case 'time':
|
||||
query += 'order by ll.`timestamp` ' + sortorder;
|
||||
break;
|
||||
default:
|
||||
query += 'order by w.`uid`';
|
||||
break;
|
||||
@@ -186,6 +190,101 @@ router
|
||||
n();
|
||||
})
|
||||
})
|
||||
.post('/getwristbandlist', (req, res, n) => {
|
||||
if (!config.permission.wristband) return n('ERR9000');
|
||||
|
||||
let query = "select * from ??.?? ";
|
||||
let param = [config.db.db9, 'wristband'];
|
||||
|
||||
res.db.query(query, param, (err, row) => {
|
||||
if (err) return rt.err(res, err, n, 'ERR8000');
|
||||
|
||||
res.api_res = {
|
||||
record: tool.checkArray(row)
|
||||
};
|
||||
|
||||
n();
|
||||
})
|
||||
})
|
||||
.post('/delwristband', (req, res, n) => {
|
||||
if (!config.permission.wristband) return n('ERR9000');
|
||||
if (!tool.checkPermission(req)) return n('ERR9000');
|
||||
let arr = req.body;
|
||||
if (!arr.data) return n('ERR0000');
|
||||
if (!arr.data.id) return n('ERR0028');
|
||||
|
||||
res.db.query(`use ${config.db.db9}`);
|
||||
let query = "delete from ??.?? where `uid` = ?";
|
||||
let param = [config.db.db9, 'wristband', arr.data.id];
|
||||
|
||||
res.db.query(query, param, (err, row) => {
|
||||
if (err) return rt.err(res, err, n, 'ERR8003');
|
||||
|
||||
res.api_res = {
|
||||
record: []
|
||||
};
|
||||
n();
|
||||
});
|
||||
})
|
||||
.post('/addwristband', (req, res, n) => {
|
||||
if (!config.permission.wristband) return n('ERR9000');
|
||||
if (!tool.checkPermission(req)) return n('ERR9000');
|
||||
let arr = req.body;
|
||||
if (!arr.data) return n('ERR0000')
|
||||
if (!arr.data.mac) return n('ERR0060');
|
||||
|
||||
let name = arr.data.name || '';
|
||||
let identity = arr.data.identity || 0;
|
||||
let monitor = arr.data.monitor || 0;
|
||||
let notify = arr.data.notify || 0;
|
||||
let sw = arr.data.switch || 0;
|
||||
|
||||
let query = "insert into ??.?? (`mac`, `name`, `identity`, `monitor`, `notify`, `switch`, `ctime`, `mtime`) values \
|
||||
( ?, ?, ?, ?, ?, ?, unix_timestamp(), unix_timestamp() )";
|
||||
let param = [config.db.db9, 'wristband', arr.data.mac, name, identity, monitor, notify, sw];
|
||||
|
||||
res.db.query(query, param, (err, row) => {
|
||||
if (err) return rt.err(res, err, n, 'ERR8001');
|
||||
|
||||
res.api_res = {
|
||||
record: []
|
||||
};
|
||||
n();
|
||||
});
|
||||
|
||||
})
|
||||
.post('/editwristband', (req, res, n) => {
|
||||
if (!config.permission.wristband) return n('ERR9000');
|
||||
if (!tool.checkPermission(req)) return n('ERR9000');
|
||||
let arr = req.body;
|
||||
if (!arr.data) return n('ERR0000');
|
||||
if (!arr.data.id) return n('ERR0028');
|
||||
|
||||
let name = arr.data.name || '';
|
||||
let identity = arr.data.identity || 0;
|
||||
let monitor = arr.data.monitor || 0;
|
||||
let notify = arr.data.notify || 0;
|
||||
let sw = arr.data.switch || 0;
|
||||
|
||||
let query = "update ??.?? set \
|
||||
`name` = ?, \
|
||||
`identity` = ?, \
|
||||
`monitor` = ?, \
|
||||
`notify` = ?, \
|
||||
`switch` = ?, \
|
||||
`mtime` = unix_timestamp() \
|
||||
where \
|
||||
`uid` = ?";
|
||||
let param = [config.db.db9, 'wristband', name, identity, monitor, notify, sw, arr.data.id];
|
||||
res.db.query(query, param, (err, row) => {
|
||||
if (err) return rt.err(res, err, n, 'ERR8002');
|
||||
|
||||
res.api_res = {
|
||||
record: []
|
||||
}
|
||||
n();
|
||||
})
|
||||
})
|
||||
.all('*', rt.send);
|
||||
|
||||
module.exports = router;
|
||||
Reference in New Issue
Block a user