|
@@ -41,6 +41,23 @@ function serializeWhere(params) {
|
|
};
|
|
};
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+function serializeUpdate(params) {
|
|
|
|
+ const template = Object.keys(params)
|
|
|
|
+ .map(key => {
|
|
|
|
+ return `${key}=$${key}`;
|
|
|
|
+ })
|
|
|
|
+ .join(",");
|
|
|
|
+ const templateData = {};
|
|
|
|
+ Object.entries(params).map(([key, val]) => {
|
|
|
|
+ templateData[`$${key}`] = val;
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ return {
|
|
|
|
+ template,
|
|
|
|
+ templateData
|
|
|
|
+ };
|
|
|
|
+}
|
|
|
|
+
|
|
// scan
|
|
// scan
|
|
function saveUploadInfo(params) {
|
|
function saveUploadInfo(params) {
|
|
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 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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)`;
|
|
@@ -526,6 +543,205 @@ function updateTaskFinish(id) {
|
|
});
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+// cropper-task
|
|
|
|
+export function getCropperTaskList(params) {
|
|
|
|
+ const { where, whereData } = serializeWhere(params);
|
|
|
|
+ let sql = `SELECT * FROM cropper_task`;
|
|
|
|
+ if (where) {
|
|
|
|
+ sql += ` WHERE ${where}`;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return new Promise((resolve, reject) => {
|
|
|
|
+ db.all(sql, whereData, (err, rows) => {
|
|
|
|
+ if (err) reject("search task fail!");
|
|
|
|
+ resolve(rows);
|
|
|
|
+ });
|
|
|
|
+ });
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+export function deleteCropperTaskById(id) {
|
|
|
|
+ const sql = `DELETE FROM cropper_task WHERE id=$id`;
|
|
|
|
+ const datas = {
|
|
|
|
+ $id: id
|
|
|
|
+ };
|
|
|
|
+ return new Promise((resolve, reject) => {
|
|
|
|
+ db.run(sql, datas, err => {
|
|
|
|
+ if (err) reject("delete cropper-task fail!");
|
|
|
|
+ resolve(true);
|
|
|
|
+ });
|
|
|
|
+ });
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+export function deleteCropperTaskDetail(cropperTaskId) {
|
|
|
|
+ const sql = `DELETE FROM cropper_task_detail WHERE cropperTaskId=$cropperTaskId`;
|
|
|
|
+ const datas = {
|
|
|
|
+ $cropperTaskId: cropperTaskId
|
|
|
|
+ };
|
|
|
|
+ return new Promise((resolve, reject) => {
|
|
|
|
+ db.run(sql, datas, err => {
|
|
|
|
+ if (err) reject("delete cropper-task-detail fail!");
|
|
|
|
+ resolve(true);
|
|
|
|
+ });
|
|
|
|
+ });
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+export function addCropperTask(params) {
|
|
|
|
+ const sql = `INSERT INTO cropper_task (name,inputDir,outputDir,taskCount,finishedCount,createTime,updateTime) VALUES (?,?,?,?,?,?,?)`;
|
|
|
|
+ const datas = [
|
|
|
|
+ params.name,
|
|
|
|
+ params.inputDir,
|
|
|
|
+ params.outputDir,
|
|
|
|
+ params.taskCount,
|
|
|
|
+ 0,
|
|
|
|
+ formatDate(), // createTime
|
|
|
|
+ ""
|
|
|
|
+ ];
|
|
|
|
+
|
|
|
|
+ return new Promise((resolve, reject) => {
|
|
|
|
+ db.run(sql, datas, function(err) {
|
|
|
|
+ console.log(err);
|
|
|
|
+ if (err) reject(err);
|
|
|
|
+ resolve(this.lastID);
|
|
|
|
+ });
|
|
|
|
+ });
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+export function updateCropperTask(params) {
|
|
|
|
+ const sql = `UPDATE cropper_task SET name=$name,inputDir=$inputDir,outputDir=$outputDir,taskCount=$taskCount,finishedCount=$finishedCount,updateTime=$updateTime WHERE id=$id`;
|
|
|
|
+ const datas = {
|
|
|
|
+ $id: params.id,
|
|
|
|
+ $name: params.name,
|
|
|
|
+ $inputDir: params.inputDir,
|
|
|
|
+ $outputDir: params.outputDir,
|
|
|
|
+ $taskCount: params.taskCount,
|
|
|
|
+ $finishedCount: 0,
|
|
|
|
+ $updateTime: formatDate()
|
|
|
|
+ };
|
|
|
|
+ return new Promise((resolve, reject) => {
|
|
|
|
+ db.run(sql, datas, err => {
|
|
|
|
+ if (err) reject("update cropper task fail!");
|
|
|
|
+
|
|
|
|
+ resolve(true);
|
|
|
|
+ });
|
|
|
|
+ });
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+export function updateCropperTaskFinishedCount(params) {
|
|
|
|
+ const sql = `UPDATE cropper_task SET finishedCount=$finishedCount,updateTime=$updateTime WHERE id=$id`;
|
|
|
|
+ const datas = {
|
|
|
|
+ $id: params.id,
|
|
|
|
+ $finishedCount: params.finishedCount,
|
|
|
|
+ $updateTime: formatDate()
|
|
|
|
+ };
|
|
|
|
+ return new Promise((resolve, reject) => {
|
|
|
|
+ db.run(sql, datas, err => {
|
|
|
|
+ if (err) reject("update cropper task count fail!");
|
|
|
|
+
|
|
|
|
+ resolve(true);
|
|
|
|
+ });
|
|
|
|
+ });
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+export function getCropperTaskFinishCount(cropperTaskId) {
|
|
|
|
+ const { where, whereData } = serializeWhere({
|
|
|
|
+ cropperTaskId: cropperTaskId,
|
|
|
|
+ isFinished: 1
|
|
|
|
+ });
|
|
|
|
+ const sql = `SELECT COUNT(1) AS count FROM cropper_task_detail WHERE ${where}`;
|
|
|
|
+
|
|
|
|
+ return new Promise((resolve, reject) => {
|
|
|
|
+ db.all(sql, whereData, (err, rows) => {
|
|
|
|
+ if (err) reject("count task list fail!");
|
|
|
|
+
|
|
|
|
+ resolve(rows[0].count);
|
|
|
|
+ });
|
|
|
|
+ });
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+/**
|
|
|
|
+ *
|
|
|
|
+ *CREATE TABLE "cropper_task_detail" (
|
|
|
|
+ "id" INTEGER NOT NULL,
|
|
|
|
+ "filename" TEXT NOT NULL ,
|
|
|
|
+ "filepath" TEXT NOT NULL,
|
|
|
|
+ "sheetPath" TEXT NOT NULL,
|
|
|
|
+ "imagesPath" TEXT NOT NULL,
|
|
|
|
+ "thumbsPath" TEXT NOT NULL,
|
|
|
|
+ "cropperSet" TEXT NOT NULL,
|
|
|
|
+ "isFinished" integer NOT NULL DEFAULT 0,
|
|
|
|
+ "createTime" TEXT NOT NULL DEFAULT '',
|
|
|
|
+ "updateTime" TEXT NOT NULL DEFAULT '',
|
|
|
|
+ PRIMARY KEY ("id")
|
|
|
|
+);
|
|
|
|
+ */
|
|
|
|
+
|
|
|
|
+export function getCropperTaskDetailList(cropperTaskId) {
|
|
|
|
+ const sql = `SELECT * FROM cropper_task_detail WHERE cropperTaskId=$cropperTaskId`;
|
|
|
|
+ const datas = {
|
|
|
|
+ $cropperTaskId: cropperTaskId
|
|
|
|
+ };
|
|
|
|
+ return new Promise((resolve, reject) => {
|
|
|
|
+ db.all(sql, datas, (err, rows) => {
|
|
|
|
+ if (err) reject("search task fail!");
|
|
|
|
+ resolve(rows);
|
|
|
|
+ });
|
|
|
|
+ });
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+/**
|
|
|
|
+ *
|
|
|
|
+ * @param {Array} paramList 参数列表
|
|
|
|
+ */
|
|
|
|
+export function addCropperTaskDetail(paramList) {
|
|
|
|
+ const listVals = paramList.map(params => {
|
|
|
|
+ const datas = [
|
|
|
|
+ params.cropperTaskId,
|
|
|
|
+ params.filename,
|
|
|
|
+ params.filepath,
|
|
|
|
+ params.sheetPath,
|
|
|
|
+ params.imagesPath,
|
|
|
|
+ params.thumbsPath,
|
|
|
|
+ params.cropperSet,
|
|
|
|
+ 0, // isFinished
|
|
|
|
+ formatDate(), // createTime
|
|
|
|
+ ""
|
|
|
|
+ ];
|
|
|
|
+ const nitem = datas.map(val =>
|
|
|
|
+ typeof val === "string" ? `'${val}'` : val
|
|
|
|
+ );
|
|
|
|
+ return `(${nitem.join(",")})`;
|
|
|
|
+ });
|
|
|
|
+ const vals = listVals.join(",");
|
|
|
|
+
|
|
|
|
+ const sql = `INSERT INTO cropper_task_detail (cropperTaskId,filename,filepath, sheetPath, imagesPath,thumbsPath,cropperSet,isFinished,createTime,updateTime) VALUES ${vals}`;
|
|
|
|
+
|
|
|
|
+ return new Promise((resolve, reject) => {
|
|
|
|
+ db.run(sql, function(err) {
|
|
|
|
+ console.log(err);
|
|
|
|
+ if (err) reject(err);
|
|
|
|
+ resolve(true);
|
|
|
|
+ });
|
|
|
|
+ });
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+export function updateCropperTaskDetail(params) {
|
|
|
|
+ if (!params.id) return Promise.reject("id is required");
|
|
|
|
+
|
|
|
|
+ const id = params.id;
|
|
|
|
+ let paramData = { ...params };
|
|
|
|
+ delete paramData.id;
|
|
|
|
+ const { template, templateData } = serializeUpdate(paramData);
|
|
|
|
+ const sql = `UPDATE cropper_task_detail SET ${template} WHERE id=${id}`;
|
|
|
|
+
|
|
|
|
+ return new Promise((resolve, reject) => {
|
|
|
|
+ db.run(sql, templateData, err => {
|
|
|
|
+ if (err) reject("update cropper task detail fail!");
|
|
|
|
+
|
|
|
|
+ resolve(true);
|
|
|
|
+ });
|
|
|
|
+ });
|
|
|
|
+}
|
|
|
|
+
|
|
export default {
|
|
export default {
|
|
init,
|
|
init,
|
|
// scan
|
|
// scan
|