GrpcPrint/PrintS/log/LogImage.cpp

144 lines
4.1 KiB
C++

#include "LogImage.h"
LogImage::LogImage()
{
}
LogImage::~LogImage()
{
}
void LogImage::CreateIfNoExist(SQLite::Database* db)
{
if (db == nullptr)return;
if (db->tableExists(IMAGE_TABLE_NAME))return;
char buffer[1024];
string createsql = "CREATE TABLE IF NOT EXISTS %s(%s INTEGER PRIMARY KEY AUTOINCREMENT,%s LONG,%s INTEGER,%s INTEGER, %s VARCHAR(100),%s BLOB)";
sprintf_s(buffer, sizeof(buffer), createsql.c_str(),
IMAGE_TABLE_NAME.c_str(),
IMAGE_FIELD_ID.c_str(),
IMAGE_FIELD_INSERT_TIME.c_str(),
IMAGE_FIELD_JOB_ID.c_str(),
IMAGE_FIELD_IMAGE_TYPE.c_str(),
IMAGE_FIELD_LAYER_INDEX.c_str(),
IMAGE_FIELD_IMAGE.c_str()
);
db->exec(buffer);
sprintf_s(buffer, sizeof(buffer), "CREATE INDEX IF NOT EXISTS idx_%s_%s ON %s (%s)",
IMAGE_TABLE_NAME.c_str(),
IMAGE_FIELD_JOB_ID.c_str(),
IMAGE_TABLE_NAME.c_str(),
IMAGE_FIELD_JOB_ID.c_str()
);
db->exec(buffer);
sprintf_s(buffer, sizeof(buffer), "CREATE INDEX IF NOT EXISTS idx_%s_%s ON %s (%s)",
IMAGE_TABLE_NAME.c_str(),
IMAGE_FIELD_INSERT_TIME.c_str(),
IMAGE_TABLE_NAME.c_str(),
IMAGE_FIELD_INSERT_TIME.c_str()
);
db->exec(buffer);
}
const string LogImage::IMAGE_TABLE_NAME="LogImage";
const string LogImage::IMAGE_FIELD_ID="id";
const string LogImage::IMAGE_FIELD_INSERT_TIME="insert_time";
const string LogImage::IMAGE_FIELD_JOB_ID="job_id";
const string LogImage::IMAGE_FIELD_IMAGE_TYPE = "image_type";
const string LogImage::IMAGE_FIELD_LAYER_INDEX="layer_index";
const string LogImage::IMAGE_FIELD_IMAGE="image";
ImageInfo::ImageInfo() {
}
ImageInfo::~ImageInfo() {
}
void ImageInfo::CreateIfNoExist(SQLite::Database* db)
{
if (db == nullptr)return;
if (db->tableExists(TABLE_NAME))return;
char buffer[1024];
string createsql = "CREATE TABLE IF NOT EXISTS %s(%s INTEGER PRIMARY KEY AUTOINCREMENT,%s LONG,%s INTEGER)";
sprintf_s(buffer, sizeof(buffer), createsql.c_str(),
TABLE_NAME.c_str(),
FIELD_ID.c_str(),
FIELD_INSERT_TIME.c_str(),
FIELD_JOB_ID.c_str()
);
db->exec(buffer);
}
const string ImageInfo::TABLE_NAME = "ImageInfo";
const string ImageInfo::FIELD_ID = "id";
const string ImageInfo::FIELD_INSERT_TIME = "insert_time";
const string ImageInfo::FIELD_JOB_ID = "job_id";
IFImage::IFImage()
{
}
IFImage::~IFImage()
{
if (m_Image)delete[] m_Image;
if (m_IFData)delete[] m_IFData;
}
void IFImage::CreateIfNoExist(SQLite::Database* db)
{
if (db == nullptr)return;
if (db->tableExists(IFIMAGE_TABLE_NAME))return;
char buffer[1024];
string createsql = "CREATE TABLE IF NOT EXISTS %s(%s INTEGER PRIMARY KEY AUTOINCREMENT,%s LONG,%s INTEGER,%s INTEGER, %s VARCHAR(100),%s INTEGER,%s INTEGER,%s INTEGER,%s BLOB,%s BLOB)";
sprintf_s(buffer, sizeof(buffer), createsql.c_str(),
IFIMAGE_TABLE_NAME.c_str(),
IFIMAGE_FIELD_ID.c_str(),
IFIMAGE_FIELD_INSERT_TIME.c_str(),
IFIMAGE_FIELD_JOB_ID.c_str(),
IFIMAGE_FIELD_IMAGE_TYPE.c_str(),
IFIMAGE_FIELD_LAYER_INDEX.c_str(),
IFIMAGE_FIELD_IMAGE_COLS.c_str(),
IFIMAGE_FIELD_IMAGE_ROWS.c_str(),
IFIMAGE_FIELD_IMAGE_LENGTH.c_str(),
IFIMAGE_FIELD_IMAGE.c_str(),
IFIMAGE_FIELD_IFDATA.c_str()
);
db->exec(buffer);
sprintf_s(buffer, sizeof(buffer), "CREATE INDEX IF NOT EXISTS idx_%s_%s ON %s (%s)",
IFIMAGE_TABLE_NAME.c_str(),
IFIMAGE_FIELD_JOB_ID.c_str(),
IFIMAGE_TABLE_NAME.c_str(),
IFIMAGE_FIELD_JOB_ID.c_str()
);
db->exec(buffer);
sprintf_s(buffer, sizeof(buffer), "CREATE INDEX IF NOT EXISTS idx_%s_%s ON %s (%s)",
IFIMAGE_TABLE_NAME.c_str(),
IFIMAGE_FIELD_INSERT_TIME.c_str(),
IFIMAGE_TABLE_NAME.c_str(),
IFIMAGE_FIELD_INSERT_TIME.c_str()
);
db->exec(buffer);
}
const string IFImage::IFIMAGE_TABLE_NAME = "IFImage";
const string IFImage::IFIMAGE_FIELD_ID = "id";
const string IFImage::IFIMAGE_FIELD_INSERT_TIME = "insert_time";
const string IFImage::IFIMAGE_FIELD_JOB_ID = "job_id";
const string IFImage::IFIMAGE_FIELD_IMAGE_TYPE = "image_type";
const string IFImage::IFIMAGE_FIELD_LAYER_INDEX = "layer_index";
const string IFImage::IFIMAGE_FIELD_IMAGE = "image";
const string IFImage::IFIMAGE_FIELD_IMAGE_LENGTH = "ImageLength";
const string IFImage::IFIMAGE_FIELD_IMAGE_COLS = "ImageCols";
const string IFImage::IFIMAGE_FIELD_IMAGE_ROWS = "ImageRows";
const string IFImage::IFIMAGE_FIELD_IFDATA = "IFData";