update compare plate 7

This commit is contained in:
dongpd 2020-02-05 09:41:09 +07:00
parent 7bf9cf9f25
commit ae07cb58d7

View File

@ -57,18 +57,18 @@ function levenshtein(a, b) {
return matrix[b.length][a.length];
}
const db = makeDb(config);
var currentIn = {"plate": "", "time": 0};
var currentOut = {"plate": "", "time": 0};
exports.SaveLogs = async function (req, res) {
console.log("req: ", req.body.plate, " current: ", current);
var today = new Date();
var currentDate = today.getDate();
var currentMonth = today.getMonth() + 1;
var currentYear = today.getFullYear();
var rootDir = "/mnt/c/xampp/htdocs/AIParking_Intops_Server/web/data/uploads/";
var rootDir = "/mnt/d/xampp/htdocs/AIParking_Intops_Server/web/data/uploads/";
if (!fs.existsSync(rootDir + currentYear))
fs.mkdirSync(rootDir + currentYear);
@ -86,6 +86,7 @@ exports.SaveLogs = async function (req, res) {
var canSaveLogs = true;
var vehicleInfo = {"status": false};
if (req.body.type === "in" && (currentTimestamp - currentIn.time) < 600) {
if (req.body.plate === currentIn.plate) {
canSaveLogs = false;
@ -100,6 +101,12 @@ exports.SaveLogs = async function (req, res) {
canSaveLogs = false;
}
}
if (req.body.type == "in") {
console.log("req: ", req.body.plate, "\t type: ", req.body.type, " \t compare: ", currentIn.plate, "\t save: ", canSaveLogs);
}
if (req.body.type == "out") {
console.log("req: ", req.body.plate, "\t type: ", req.body.type, " \t compare: ", currentOut.plate, "\t save: ", canSaveLogs);
}
if (canSaveLogs) {
if (req.body.type === "in") {
currentIn = {"plate": req.body.plate, "time": currentTimestamp};
@ -107,6 +114,13 @@ exports.SaveLogs = async function (req, res) {
if (req.body.type === "out") {
currentOut = {"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 plateSaved = currentYear + "/" + currentMonth + "/" + currentDate + "/" + req.body.type + "/plate/" + fileName;
var frameSaved = currentYear + "/" + currentMonth + "/" + currentDate + "/" + req.body.type + "/frame/" + fileName;
@ -114,8 +128,6 @@ exports.SaveLogs = async function (req, res) {
await fs.writeFileSync(rootDir + plateSaved, req.body.plate_image, 'base64');
await fs.writeFileSync(rootDir + frameSaved, req.body.frame_image, 'base64');
const db = makeDb(config);
var query_plate_raw = await db.query("SELECT * FROM vehicle WHERE plate='" + req.body.plate + "'");
if (query_plate_raw.length > 0) {
vehicleInfo = {"status": true, "data": query_plate_raw[0]};
if (req.body.type == "in") {
@ -130,7 +142,7 @@ exports.SaveLogs = async function (req, res) {
}
}
} 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 levenshtein('" + req.body.plate + "', `plate`) BETWEEN 0 AND 1 LIMIT 0,1");
if (query_plate_levenshtein.length > 0) {
vehicleInfo = {"status": true, "data": query_plate_levenshtein[0]};
if (req.body.type == "in") {
@ -153,7 +165,7 @@ exports.SaveLogs = async function (req, res) {
if (checkIn_raw.length > 0) {
await db.query("UPDATE logs_unknow SET `plate_image_out`='" + plateSaved + "',`frame_image_out`='" + frameSaved + "',`time_out`=" + currentTimestamp + " WHERE id=" + checkIn_raw[0].id);
} else {
var checkIn_levenshtein = await db.query("SELECT * FROM `logs_unknow` WHERE levenshtein('%" + req.body.plate + "', `plate`) BETWEEN 0 AND 1 AND time_out=0 ORDER BY time_in DESC LIMIT 0,1");
var checkIn_levenshtein = await db.query("SELECT * FROM `logs_unknow` WHERE levenshtein('" + req.body.plate + "', `plate`) BETWEEN 0 AND 1 AND time_out=0 ORDER BY time_in DESC LIMIT 0,1");
if (checkIn_levenshtein.length > 0) {
await db.query("UPDATE logs_unknow SET `plate_image_out`='" + plateSaved + "',`frame_image_out`='" + frameSaved + "',`time_out`=" + currentTimestamp + " WHERE id=" + checkIn_levenshtein[0].id);
} else {