|
@@ -20,8 +20,30 @@ function init() {
|
|
db = new sqlite.Database(clientDb, sqlite.OPEN_READWRITE);
|
|
db = new sqlite.Database(clientDb, sqlite.OPEN_READWRITE);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+function serializeWhere(params) {
|
|
|
|
+ const where = Object.keys(params)
|
|
|
|
+ .map(key => {
|
|
|
|
+ if (key.indexOf("Time") !== -1) {
|
|
|
|
+ return `${key} LIKE $${key}`;
|
|
|
|
+ } else {
|
|
|
|
+ return `${key} = $${key}`;
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ .join(" AND ");
|
|
|
|
+ const whereData = {};
|
|
|
|
+ Object.entries(params).map(([key, val]) => {
|
|
|
|
+ whereData[`$${key}`] = key.indexOf("Time") !== -1 ? `${val}%` : val;
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ return {
|
|
|
|
+ where,
|
|
|
|
+ whereData
|
|
|
|
+ };
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+// scan
|
|
function saveUploadInfo(params) {
|
|
function saveUploadInfo(params) {
|
|
- const sql = `INSERT INTO scan (examId, examName, subjectId, subjectName, examNumber, studentName, siteCode, roomCode, formalImgPath, sliceImgPath,isManual,imageEncrypt,level,clientUserId, clientUsername, clientUserLoginTime, isUpload,createdTime, finishTime) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)`;
|
|
|
|
|
|
+ const sql = `INSERT INTO scan (examId, examName, subjectId, subjectName, examNumber, studentName, siteCode, roomCode, originImgPath,formalImgPath, sliceImgPath,compressRate,isManual,imageEncrypt,level,clientUserId, clientUsername, clientUserLoginTime, isUpload,createdTime, finishTime) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)`;
|
|
const datas = [
|
|
const datas = [
|
|
params.examId,
|
|
params.examId,
|
|
params.examName,
|
|
params.examName,
|
|
@@ -31,8 +53,10 @@ function saveUploadInfo(params) {
|
|
params.studentName,
|
|
params.studentName,
|
|
params.siteCode,
|
|
params.siteCode,
|
|
params.roomCode,
|
|
params.roomCode,
|
|
|
|
+ params.originImgPath || "",
|
|
params.formalImgPath,
|
|
params.formalImgPath,
|
|
params.sliceImgPath,
|
|
params.sliceImgPath,
|
|
|
|
+ params.compressRate || 100,
|
|
params.isManual ? 1 : 0,
|
|
params.isManual ? 1 : 0,
|
|
params.imageEncrypt,
|
|
params.imageEncrypt,
|
|
params.level,
|
|
params.level,
|
|
@@ -131,6 +155,36 @@ function updateUploadState(id) {
|
|
});
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+function updateLocalPaperId(id, paperId) {
|
|
|
|
+ const sql = `UPDATE scan SET paperId=$paperId WHERE id=$id`;
|
|
|
|
+ const datas = {
|
|
|
|
+ $paperId: paperId,
|
|
|
|
+ $id: id
|
|
|
|
+ };
|
|
|
|
+ return new Promise((resolve, reject) => {
|
|
|
|
+ db.run(sql, datas, err => {
|
|
|
|
+ if (err) reject("update paperId info fail!");
|
|
|
|
+
|
|
|
|
+ resolve();
|
|
|
|
+ });
|
|
|
|
+ });
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+function deleteScanById(id) {
|
|
|
|
+ const sql = `DELETE FROM scan WHERE id=$id`;
|
|
|
|
+ const datas = {
|
|
|
|
+ $id: id
|
|
|
|
+ };
|
|
|
|
+ return new Promise((resolve, reject) => {
|
|
|
|
+ db.run(sql, datas, err => {
|
|
|
|
+ if (err) reject("delete scan fail!");
|
|
|
|
+
|
|
|
|
+ resolve(true);
|
|
|
|
+ });
|
|
|
|
+ });
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+// dict
|
|
function getAllDict() {
|
|
function getAllDict() {
|
|
const sql = `SELECT * FROM dict`;
|
|
const sql = `SELECT * FROM dict`;
|
|
|
|
|
|
@@ -181,27 +235,7 @@ function setDict(key, val) {
|
|
});
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
-function serializeWhere(params) {
|
|
|
|
- const where = Object.keys(params)
|
|
|
|
- .map(key => {
|
|
|
|
- if (key.indexOf("Time") !== -1) {
|
|
|
|
- return `${key} LIKE $${key}`;
|
|
|
|
- } else {
|
|
|
|
- return `${key} = $${key}`;
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
- .join(" AND ");
|
|
|
|
- const whereData = {};
|
|
|
|
- Object.entries(params).map(([key, val]) => {
|
|
|
|
- whereData[`$${key}`] = key.indexOf("Time") !== -1 ? `${val}%` : val;
|
|
|
|
- });
|
|
|
|
-
|
|
|
|
- return {
|
|
|
|
- where,
|
|
|
|
- whereData
|
|
|
|
- };
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
|
|
+// paper-manage
|
|
function getAreas(subjectId) {
|
|
function getAreas(subjectId) {
|
|
const sql = `SELECT DISTINCT siteCode from scan WHERE subjectId = '${subjectId}'`;
|
|
const sql = `SELECT DISTINCT siteCode from scan WHERE subjectId = '${subjectId}'`;
|
|
|
|
|
|
@@ -288,29 +322,63 @@ function absentLocalPaper(id, missing) {
|
|
});
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
-function updateLocalPaperId(id, paperId) {
|
|
|
|
- const sql = `UPDATE scan SET paperId=$paperId WHERE id=$id`;
|
|
|
|
- const datas = {
|
|
|
|
- $paperId: paperId,
|
|
|
|
- $id: id
|
|
|
|
- };
|
|
|
|
|
|
+function saveRotateHistory(params) {
|
|
|
|
+ const sql = `INSERT INTO rotate_history (examId,subjectId,paperId, studentName, examNumber, filePath, isUpload,createdTime, finishTime) VALUES (?,?,?,?,?,?,?,?,?)`;
|
|
|
|
+ const datas = [
|
|
|
|
+ params.examId,
|
|
|
|
+ params.subjectId,
|
|
|
|
+ params.paperId,
|
|
|
|
+ params.studentName,
|
|
|
|
+ params.examNumber,
|
|
|
|
+ params.filePath,
|
|
|
|
+ 0, // isUpload
|
|
|
|
+ formatDate(), // createdTime
|
|
|
|
+ null
|
|
|
|
+ ];
|
|
return new Promise((resolve, reject) => {
|
|
return new Promise((resolve, reject) => {
|
|
- db.run(sql, datas, err => {
|
|
|
|
- if (err) reject("update paperId info fail!");
|
|
|
|
|
|
+ db.serialize(() => {
|
|
|
|
+ db.run(sql, datas, function(err) {
|
|
|
|
+ if (err) reject(err);
|
|
|
|
+ resolve(this.lastID);
|
|
|
|
+ });
|
|
|
|
+ });
|
|
|
|
+ });
|
|
|
|
+}
|
|
|
|
|
|
- resolve();
|
|
|
|
|
|
+function getUnfinishRotateHistoryList() {
|
|
|
|
+ const sql = `SELECT * FROM rotate_history WHERE isUpload = 0`;
|
|
|
|
+
|
|
|
|
+ return new Promise((resolve, reject) => {
|
|
|
|
+ db.all(sql, (err, rows) => {
|
|
|
|
+ if (err) reject("get history list fail!");
|
|
|
|
+
|
|
|
|
+ resolve(rows);
|
|
});
|
|
});
|
|
});
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
-function deleteScanById(id) {
|
|
|
|
- const sql = `DELETE FROM scan WHERE id=$id`;
|
|
|
|
|
|
+function getUnfinishRotateHistoryCount() {
|
|
|
|
+ const sql = `SELECT COUNT(1) AS count FROM rotate_history WHERE isUpload = 0`;
|
|
|
|
+
|
|
|
|
+ return new Promise((resolve, reject) => {
|
|
|
|
+ db.all(sql, (err, rows) => {
|
|
|
|
+ if (err) reject("count history list fail!");
|
|
|
|
+
|
|
|
|
+ resolve(rows[0].count);
|
|
|
|
+ });
|
|
|
|
+ });
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+function finishRotateHistory(id) {
|
|
|
|
+ const sql = `UPDATE rotate_history SET isUpload=$isUpload,finishTime=$finishTime WHERE id=$id`;
|
|
const datas = {
|
|
const datas = {
|
|
- $id: id
|
|
|
|
|
|
+ $id: id,
|
|
|
|
+ $isUpload: 1,
|
|
|
|
+ $finishTime: formatDate()
|
|
};
|
|
};
|
|
return new Promise((resolve, reject) => {
|
|
return new Promise((resolve, reject) => {
|
|
db.run(sql, datas, err => {
|
|
db.run(sql, datas, err => {
|
|
- if (err) reject("delete scan fail!");
|
|
|
|
|
|
+ if (err) reject("update download task info fail!");
|
|
|
|
|
|
resolve(true);
|
|
resolve(true);
|
|
});
|
|
});
|
|
@@ -460,6 +528,7 @@ function updateTaskFinish(id) {
|
|
|
|
|
|
export default {
|
|
export default {
|
|
init,
|
|
init,
|
|
|
|
+ // scan
|
|
saveUploadInfo,
|
|
saveUploadInfo,
|
|
searchUploadList,
|
|
searchUploadList,
|
|
countScanList,
|
|
countScanList,
|
|
@@ -467,18 +536,25 @@ export default {
|
|
getScanCount,
|
|
getScanCount,
|
|
getHistory,
|
|
getHistory,
|
|
updateUploadState,
|
|
updateUploadState,
|
|
|
|
+ updateLocalPaperId,
|
|
|
|
+ deleteScanById,
|
|
|
|
+ // dict
|
|
getDict,
|
|
getDict,
|
|
setDict,
|
|
setDict,
|
|
getAllDict,
|
|
getAllDict,
|
|
initDict,
|
|
initDict,
|
|
|
|
+ // paper-manage
|
|
getAreas,
|
|
getAreas,
|
|
getPaperList,
|
|
getPaperList,
|
|
absentLocalPaper,
|
|
absentLocalPaper,
|
|
- updateLocalPaperId,
|
|
|
|
- deleteScanById,
|
|
|
|
|
|
+ saveRotateHistory,
|
|
|
|
+ getUnfinishRotateHistoryList,
|
|
|
|
+ finishRotateHistory,
|
|
|
|
+ getUnfinishRotateHistoryCount,
|
|
|
|
+ // export data
|
|
addExportTask,
|
|
addExportTask,
|
|
- getUnfinishTask,
|
|
|
|
addExportTaskDetail,
|
|
addExportTaskDetail,
|
|
|
|
+ getUnfinishTask,
|
|
getDownloadTaskList,
|
|
getDownloadTaskList,
|
|
getDownloadTaskCount,
|
|
getDownloadTaskCount,
|
|
updateDownloadTaskDownload,
|
|
updateDownloadTaskDownload,
|