fix compare plate

This commit is contained in:
dongpd 2020-02-06 11:35:49 +07:00
parent 51b76e56f2
commit 7a402301c8

View File

@ -137,12 +137,6 @@ exports.SaveLogs = async function (req, res) {
} }
currentOut.push({"plate": req.body.plate, "time": currentTimestamp}); currentOut.push({"plate": req.body.plate, "time": currentTimestamp});
} }
var query_plate_raw = await db.query("SELECT * FROM vehicle WHERE plate='" + req.body.plate + "'");
if (query_plate_raw.length == 0 && req.body.plate.length <= 7) {
res.send(vehicleInfo);
return;
}
var fileName = req.body.plate + "_" + currentTimestamp + ".png"; var fileName = req.body.plate + "_" + currentTimestamp + ".png";
var plateSaved = currentYear + "/" + currentMonth + "/" + currentDate + "/" + req.body.type + "/plate/" + fileName; var plateSaved = currentYear + "/" + currentMonth + "/" + currentDate + "/" + req.body.type + "/plate/" + fileName;
@ -151,6 +145,7 @@ exports.SaveLogs = async function (req, res) {
await fs.writeFileSync(rootDir + plateSaved, req.body.plate_image, 'base64'); await fs.writeFileSync(rootDir + plateSaved, req.body.plate_image, 'base64');
await fs.writeFileSync(rootDir + frameSaved, req.body.frame_image, 'base64'); await fs.writeFileSync(rootDir + frameSaved, req.body.frame_image, 'base64');
var query_plate_raw = await db.query("SELECT * FROM vehicle WHERE plate='" + req.body.plate + "'");
if (query_plate_raw.length > 0) { if (query_plate_raw.length > 0) {
vehicleInfo = {"status": true, "data": query_plate_raw[0]}; vehicleInfo = {"status": true, "data": query_plate_raw[0]};
if (req.body.type == "in") { if (req.body.type == "in") {
@ -165,7 +160,7 @@ exports.SaveLogs = async function (req, res) {
} }
} }
} else { } else {
var query_plate_levenshtein = await db.query("SELECT * FROM `vehicle` WHERE levenshtein('" + req.body.plate + "', `plate`) BETWEEN 0 AND 1 LIMIT 0,1"); var query_plate_levenshtein = await db.query("SELECT * FROM `vehicle` WHERE LENGTH(`plate`)=" + req.body.plate.length + " AND levenshtein('" + req.body.plate + "', `plate`) BETWEEN 0 AND 1 LIMIT 0,1");
if (query_plate_levenshtein.length > 0) { if (query_plate_levenshtein.length > 0) {
vehicleInfo = {"status": true, "data": query_plate_levenshtein[0]}; vehicleInfo = {"status": true, "data": query_plate_levenshtein[0]};
if (req.body.type == "in") { if (req.body.type == "in") {
@ -180,6 +175,7 @@ exports.SaveLogs = async function (req, res) {
} }
} }
} else { } else {
vehicleInfo = {"status": true};
if (req.body.type == "in") { if (req.body.type == "in") {
await db.query("INSERT INTO logs_unknow(`plate`,`plate_image_in`,`frame_image_in`,`time_in`) VALUES ('" + req.body.plate + "','" + plateSaved + "','" + frameSaved + "'," + currentTimestamp + ")"); await db.query("INSERT INTO logs_unknow(`plate`,`plate_image_in`,`frame_image_in`,`time_in`) VALUES ('" + req.body.plate + "','" + plateSaved + "','" + frameSaved + "'," + currentTimestamp + ")");
} }