|
|
|
@ -5,7 +5,7 @@
|
|
|
|
|
#include "base/HGUtility.h"
|
|
|
|
|
#include "HGString.h"
|
|
|
|
|
|
|
|
|
|
const HGChar* INITTIAL_INSPECTION[] =
|
|
|
|
|
const HGChar* INITIAL_INSPECTION[] =
|
|
|
|
|
{
|
|
|
|
|
"dial_switch",
|
|
|
|
|
"rocker_switch",
|
|
|
|
@ -113,10 +113,9 @@ HGResult HGPdtToolDbUserMgrImpl::Create(const HGChar* host, HGUShort port, const
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (0 != CreateFileTable(sql) || 0 != CreateMainTestTable(sql)
|
|
|
|
|
|| 0 != CreateInitInspTestTable(sql) || 0 != CreateInitInspDescTable(sql)
|
|
|
|
|
|| 0 != CreateImgInspTestTable(sql) || 0 != CreateImgInspDescTable(sql)
|
|
|
|
|
|| 0 != CreatePreInspTestTable(sql) || 0 != CreatePreInspDescTable(sql)
|
|
|
|
|
|| 0 != CreateInspImageTable(sql))
|
|
|
|
|
|| 0 != CreateInitInspTestTable(sql) || 0 != CreateInitInspDescTable(sql) || 0 != CreateInitInspImageTable(sql)
|
|
|
|
|
|| 0 != CreateImgInspTestTable(sql) || 0 != CreateImgInspDescTable(sql) || 0 != CreateImgInspImageTable(sql)
|
|
|
|
|
|| 0 != CreatePreInspTestTable(sql) || 0 != CreatePreInspDescTable(sql) || 0 != CreatePreInspImageTable(sql))
|
|
|
|
|
{
|
|
|
|
|
mysql_close(sql);
|
|
|
|
|
return HGBASE_ERR_FAIL;
|
|
|
|
@ -679,12 +678,12 @@ HGResult HGPdtToolDbUserMgrImpl::Export(const HGChar* xlsPath)
|
|
|
|
|
cmd += ", main_test.device_type";
|
|
|
|
|
cmd += ", main_test.device_version";
|
|
|
|
|
|
|
|
|
|
for (int i = 0; i < sizeof(INITTIAL_INSPECTION) / sizeof(const HGChar*); ++i)
|
|
|
|
|
for (int i = 0; i < sizeof(INITIAL_INSPECTION) / sizeof(const HGChar*); ++i)
|
|
|
|
|
{
|
|
|
|
|
cmd += ", initial_inspection_test.";
|
|
|
|
|
cmd += INITTIAL_INSPECTION[i];
|
|
|
|
|
cmd += INITIAL_INSPECTION[i];
|
|
|
|
|
cmd += ", initial_inspection_desc.";
|
|
|
|
|
cmd += INITTIAL_INSPECTION[i];
|
|
|
|
|
cmd += INITIAL_INSPECTION[i];
|
|
|
|
|
}
|
|
|
|
|
for (int i = 0; i < sizeof(IMAGE_INSPECTION) / sizeof(const HGChar*); ++i)
|
|
|
|
|
{
|
|
|
|
@ -916,10 +915,16 @@ HGResult HGPdtToolDbUserMgrImpl::OpenDevice(const HGChar* sn, class HGPdtToolDbD
|
|
|
|
|
return HGBASE_ERR_FAIL;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (0 != InitMainTestItem(sn) || 0 != InitInspTestItem("initial_inspection_test", sn)
|
|
|
|
|
|| 0 != InitInspTestItem("initial_inspection_desc", sn) || 0 != InitInspTestItem("image_inspection_test", sn)
|
|
|
|
|
|| 0 != InitInspTestItem("image_inspection_desc", sn) || 0 != InitInspTestItem("pressure_inspection_test", sn)
|
|
|
|
|
|| 0 != InitInspTestItem("pressure_inspection_desc", sn) || 0 != InitInspTestItem("inspection_image", sn))
|
|
|
|
|
if (0 != InitMainTestItem(sn)
|
|
|
|
|
|| 0 != InitInspTestItem("initial_inspection_test", sn)
|
|
|
|
|
|| 0 != InitInspTestItem("initial_inspection_desc", sn)
|
|
|
|
|
|| 0 != InitInspTestItem("initial_inspection_image", sn)
|
|
|
|
|
|| 0 != InitInspTestItem("image_inspection_test", sn)
|
|
|
|
|
|| 0 != InitInspTestItem("image_inspection_desc", sn)
|
|
|
|
|
|| 0 != InitInspTestItem("image_inspection_image", sn)
|
|
|
|
|
|| 0 != InitInspTestItem("pressure_inspection_test", sn)
|
|
|
|
|
|| 0 != InitInspTestItem("pressure_inspection_desc", sn)
|
|
|
|
|
|| 0 != InitInspTestItem("pressure_inspection_image", sn))
|
|
|
|
|
{
|
|
|
|
|
mysql_query(m_sql, "rollback;");
|
|
|
|
|
return HGBASE_ERR_FAIL;
|
|
|
|
@ -1095,11 +1100,11 @@ int HGPdtToolDbUserMgrImpl::CreateInitInspTestTable(MYSQL* sql)
|
|
|
|
|
assert(NULL != sql);
|
|
|
|
|
|
|
|
|
|
std::string cmd = "create table if not exists initial_inspection_test (sn varchar(20) not null primary key";
|
|
|
|
|
int size = sizeof(INITTIAL_INSPECTION) / sizeof(const HGChar*);
|
|
|
|
|
int size = sizeof(INITIAL_INSPECTION) / sizeof(const HGChar*);
|
|
|
|
|
for (int i = 0; i < size; ++i)
|
|
|
|
|
{
|
|
|
|
|
cmd += ", ";
|
|
|
|
|
cmd += INITTIAL_INSPECTION[i];
|
|
|
|
|
cmd += INITIAL_INSPECTION[i];
|
|
|
|
|
cmd += " tinyint unsigned default 0";
|
|
|
|
|
}
|
|
|
|
|
cmd += ");";
|
|
|
|
@ -1111,11 +1116,27 @@ int HGPdtToolDbUserMgrImpl::CreateInitInspDescTable(MYSQL* sql)
|
|
|
|
|
assert(NULL != sql);
|
|
|
|
|
|
|
|
|
|
std::string cmd = "create table if not exists initial_inspection_desc (sn varchar(20) not null primary key";
|
|
|
|
|
int size = sizeof(INITTIAL_INSPECTION) / sizeof(const HGChar*);
|
|
|
|
|
int size = sizeof(INITIAL_INSPECTION) / sizeof(const HGChar*);
|
|
|
|
|
for (int i = 0; i < size; ++i)
|
|
|
|
|
{
|
|
|
|
|
cmd += ", ";
|
|
|
|
|
cmd += INITTIAL_INSPECTION[i];
|
|
|
|
|
cmd += INITIAL_INSPECTION[i];
|
|
|
|
|
cmd += " text";
|
|
|
|
|
}
|
|
|
|
|
cmd += ");";
|
|
|
|
|
return mysql_query(sql, cmd.c_str());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int HGPdtToolDbUserMgrImpl::CreateInitInspImageTable(MYSQL* sql)
|
|
|
|
|
{
|
|
|
|
|
assert(NULL != sql);
|
|
|
|
|
|
|
|
|
|
std::string cmd = "create table if not exists initial_inspection_image (sn varchar(20) not null primary key";
|
|
|
|
|
int size = sizeof(INITIAL_INSPECTION) / sizeof(const HGChar*);
|
|
|
|
|
for (int i = 0; i < size; ++i)
|
|
|
|
|
{
|
|
|
|
|
cmd += ", ";
|
|
|
|
|
cmd += INITIAL_INSPECTION[i];
|
|
|
|
|
cmd += " text";
|
|
|
|
|
}
|
|
|
|
|
cmd += ");";
|
|
|
|
@ -1154,6 +1175,22 @@ int HGPdtToolDbUserMgrImpl::CreateImgInspDescTable(MYSQL* sql)
|
|
|
|
|
return mysql_query(sql, cmd.c_str());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int HGPdtToolDbUserMgrImpl::CreateImgInspImageTable(MYSQL* sql)
|
|
|
|
|
{
|
|
|
|
|
assert(NULL != sql);
|
|
|
|
|
|
|
|
|
|
std::string cmd = "create table if not exists image_inspection_image (sn varchar(20) not null primary key";
|
|
|
|
|
int size = sizeof(IMAGE_INSPECTION) / sizeof(const HGChar*);
|
|
|
|
|
for (int i = 0; i < size; ++i)
|
|
|
|
|
{
|
|
|
|
|
cmd += ", ";
|
|
|
|
|
cmd += IMAGE_INSPECTION[i];
|
|
|
|
|
cmd += " text";
|
|
|
|
|
}
|
|
|
|
|
cmd += ");";
|
|
|
|
|
return mysql_query(sql, cmd.c_str());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int HGPdtToolDbUserMgrImpl::CreatePreInspTestTable(MYSQL* sql)
|
|
|
|
|
{
|
|
|
|
|
assert(NULL != sql);
|
|
|
|
@ -1186,16 +1223,16 @@ int HGPdtToolDbUserMgrImpl::CreatePreInspDescTable(MYSQL* sql)
|
|
|
|
|
return mysql_query(sql, cmd.c_str());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int HGPdtToolDbUserMgrImpl::CreateInspImageTable(MYSQL* sql)
|
|
|
|
|
int HGPdtToolDbUserMgrImpl::CreatePreInspImageTable(MYSQL* sql)
|
|
|
|
|
{
|
|
|
|
|
assert(NULL != sql);
|
|
|
|
|
|
|
|
|
|
std::string cmd = "create table if not exists inspection_image (sn varchar(20) not null primary key";
|
|
|
|
|
int size = sizeof(IMAGE_INSPECTION) / sizeof(const HGChar*);
|
|
|
|
|
std::string cmd = "create table if not exists pressure_inspection_image (sn varchar(20) not null primary key";
|
|
|
|
|
int size = sizeof(PRESSURE_INSPECTION) / sizeof(const HGChar*);
|
|
|
|
|
for (int i = 0; i < size; ++i)
|
|
|
|
|
{
|
|
|
|
|
cmd += ", ";
|
|
|
|
|
cmd += IMAGE_INSPECTION[i];
|
|
|
|
|
cmd += PRESSURE_INSPECTION[i];
|
|
|
|
|
cmd += " text";
|
|
|
|
|
}
|
|
|
|
|
cmd += ");";
|
|
|
|
@ -1542,16 +1579,15 @@ HGResult HGPdtToolDbDeviceImpl::DownloadEntryImage(HGUInt entryName, const HGCha
|
|
|
|
|
return HGBASE_ERR_INVALIDARG;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const HGChar* entryNameStr = NULL;
|
|
|
|
|
if (entryName >= HGPDTTOOLDB_ENTRYNAME_CONFIGURE_SPEED_MODE && entryName <= HGPDTTOOLDB_ENTRYNAME_MECH_PAPER_FEEDING_INCLINATION)
|
|
|
|
|
entryNameStr = IMAGE_INSPECTION[entryName - HGPDTTOOLDB_ENTRYNAME_CONFIGURE_SPEED_MODE];
|
|
|
|
|
if (NULL == entryNameStr)
|
|
|
|
|
const HGChar* entryNameStr = GetEntryNameStr(entryName);
|
|
|
|
|
const HGChar* tableName = GetImageTableName(entryName);
|
|
|
|
|
if (NULL == entryNameStr || NULL == tableName)
|
|
|
|
|
{
|
|
|
|
|
return HGBASE_ERR_INVALIDARG;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
std::string remotePath;
|
|
|
|
|
HGResult res = GetEntryImageRemotePath(entryNameStr, remotePath);
|
|
|
|
|
HGResult res = GetEntryImageRemotePath(tableName, entryNameStr, remotePath);
|
|
|
|
|
if (HGBASE_ERR_OK != res)
|
|
|
|
|
{
|
|
|
|
|
return res;
|
|
|
|
@ -1572,16 +1608,15 @@ HGResult HGPdtToolDbDeviceImpl::CheckEntryImage(HGUInt entryName)
|
|
|
|
|
return HGBASE_ERR_FAIL;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const HGChar* entryNameStr = NULL;
|
|
|
|
|
if (entryName >= HGPDTTOOLDB_ENTRYNAME_CONFIGURE_SPEED_MODE && entryName <= HGPDTTOOLDB_ENTRYNAME_MECH_PAPER_FEEDING_INCLINATION)
|
|
|
|
|
entryNameStr = IMAGE_INSPECTION[entryName - HGPDTTOOLDB_ENTRYNAME_CONFIGURE_SPEED_MODE];
|
|
|
|
|
if (NULL == entryNameStr)
|
|
|
|
|
const HGChar* entryNameStr = GetEntryNameStr(entryName);
|
|
|
|
|
const HGChar* tableName = GetImageTableName(entryName);
|
|
|
|
|
if (NULL == entryNameStr || NULL == tableName)
|
|
|
|
|
{
|
|
|
|
|
return HGBASE_ERR_INVALIDARG;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
std::string remotePath;
|
|
|
|
|
HGResult res = GetEntryImageRemotePath(entryNameStr, remotePath);
|
|
|
|
|
HGResult res = GetEntryImageRemotePath(tableName, entryNameStr, remotePath);
|
|
|
|
|
if (HGBASE_ERR_OK != res)
|
|
|
|
|
{
|
|
|
|
|
return res;
|
|
|
|
@ -1607,16 +1642,15 @@ HGResult HGPdtToolDbDeviceImpl::UploadEntryImage(HGUInt entryName, const HGChar*
|
|
|
|
|
return HGBASE_ERR_INVALIDARG;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const HGChar* entryNameStr = NULL;
|
|
|
|
|
if (entryName >= HGPDTTOOLDB_ENTRYNAME_CONFIGURE_SPEED_MODE && entryName <= HGPDTTOOLDB_ENTRYNAME_MECH_PAPER_FEEDING_INCLINATION)
|
|
|
|
|
entryNameStr = IMAGE_INSPECTION[entryName - HGPDTTOOLDB_ENTRYNAME_CONFIGURE_SPEED_MODE];
|
|
|
|
|
if (NULL == entryNameStr)
|
|
|
|
|
const HGChar* entryNameStr = GetEntryNameStr(entryName);
|
|
|
|
|
const HGChar* tableName = GetImageTableName(entryName);
|
|
|
|
|
if (NULL == entryNameStr || NULL == tableName)
|
|
|
|
|
{
|
|
|
|
|
return HGBASE_ERR_INVALIDARG;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
std::string remotePath;
|
|
|
|
|
HGResult res = GetEntryImageRemotePath(entryNameStr, remotePath);
|
|
|
|
|
HGResult res = GetEntryImageRemotePath(tableName, entryNameStr, remotePath);
|
|
|
|
|
if (HGBASE_ERR_OK != res)
|
|
|
|
|
{
|
|
|
|
|
return res;
|
|
|
|
@ -1624,9 +1658,7 @@ HGResult HGPdtToolDbDeviceImpl::UploadEntryImage(HGUInt entryName, const HGChar*
|
|
|
|
|
|
|
|
|
|
if (remotePath.empty())
|
|
|
|
|
{
|
|
|
|
|
HGChar uuid[256];
|
|
|
|
|
HGBase_GetUuid(uuid, 256);
|
|
|
|
|
remotePath = std::string("/upload/") + uuid;
|
|
|
|
|
remotePath = std::string("/upload/") + m_sn + "/" + entryNameStr + ".jpg";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
res = UploadFile(ftpHost, ftpPort, fileName, remotePath.c_str());
|
|
|
|
@ -1644,7 +1676,7 @@ HGResult HGPdtToolDbDeviceImpl::UploadEntryImage(HGUInt entryName, const HGChar*
|
|
|
|
|
return HGBASE_ERR_FAIL;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
sprintf(sqlCmd, "update inspection_image set %s = '%s' where sn = '%s';",
|
|
|
|
|
sprintf(sqlCmd, "update %s set %s = '%s' where sn = '%s';", tableName,
|
|
|
|
|
entryNameStr, remotePath.c_str(), m_sn.c_str());
|
|
|
|
|
ret = mysql_query(m_userMgr->m_sql, sqlCmd);
|
|
|
|
|
if (0 != ret)
|
|
|
|
@ -1745,7 +1777,7 @@ HGResult HGPdtToolDbDeviceImpl::SetProperty(const HGChar* prop, const HGChar* st
|
|
|
|
|
const HGChar* HGPdtToolDbDeviceImpl::GetEntryNameStr(HGUInt entryName)
|
|
|
|
|
{
|
|
|
|
|
if (entryName >= HGPDTTOOLDB_ENTRYNAME_DIAL_SWITCH && entryName <= HGPDTTOOLDB_ENTRYNAME_SCANNING_SENSOR)
|
|
|
|
|
return INITTIAL_INSPECTION[entryName - HGPDTTOOLDB_ENTRYNAME_DIAL_SWITCH];
|
|
|
|
|
return INITIAL_INSPECTION[entryName - HGPDTTOOLDB_ENTRYNAME_DIAL_SWITCH];
|
|
|
|
|
else if (entryName >= HGPDTTOOLDB_ENTRYNAME_CONFIGURE_SPEED_MODE && entryName <= HGPDTTOOLDB_ENTRYNAME_MECH_PAPER_FEEDING_INCLINATION)
|
|
|
|
|
return IMAGE_INSPECTION[entryName - HGPDTTOOLDB_ENTRYNAME_CONFIGURE_SPEED_MODE];
|
|
|
|
|
else if (entryName >= HGPDTTOOLDB_ENTRYNAME_SINGLE_PAGE_TEST_1 && entryName <= HGPDTTOOLDB_ENTRYNAME_CLEAR_ROLLER_COUNT)
|
|
|
|
@ -1775,14 +1807,26 @@ const HGChar* HGPdtToolDbDeviceImpl::GetDescTableName(HGUInt entryName)
|
|
|
|
|
return NULL;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
HGResult HGPdtToolDbDeviceImpl::GetEntryImageRemotePath(const HGChar* entryNameStr, std::string& remotePath)
|
|
|
|
|
const HGChar* HGPdtToolDbDeviceImpl::GetImageTableName(HGUInt entryName)
|
|
|
|
|
{
|
|
|
|
|
if (entryName >= HGPDTTOOLDB_ENTRYNAME_DIAL_SWITCH && entryName <= HGPDTTOOLDB_ENTRYNAME_SCANNING_SENSOR)
|
|
|
|
|
return "initial_inspection_image";
|
|
|
|
|
else if (entryName >= HGPDTTOOLDB_ENTRYNAME_CONFIGURE_SPEED_MODE && entryName <= HGPDTTOOLDB_ENTRYNAME_MECH_PAPER_FEEDING_INCLINATION)
|
|
|
|
|
return "image_inspection_image";
|
|
|
|
|
else if (entryName >= HGPDTTOOLDB_ENTRYNAME_SINGLE_PAGE_TEST_1 && entryName <= HGPDTTOOLDB_ENTRYNAME_CLEAR_ROLLER_COUNT)
|
|
|
|
|
return "pressure_inspection_image";
|
|
|
|
|
return NULL;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
HGResult HGPdtToolDbDeviceImpl::GetEntryImageRemotePath(const HGChar* tableName, const HGChar* entryNameStr, std::string& remotePath)
|
|
|
|
|
{
|
|
|
|
|
assert(NULL != m_userMgr->m_sql);
|
|
|
|
|
assert(NULL != entryNameStr);
|
|
|
|
|
assert(NULL != tableName && 0 != *tableName);
|
|
|
|
|
assert(NULL != entryNameStr && 0 != *entryNameStr);
|
|
|
|
|
remotePath.clear();
|
|
|
|
|
|
|
|
|
|
char sqlCmd[1024] = { 0 };
|
|
|
|
|
sprintf(sqlCmd, "select %s from inspection_image where sn = '%s';", entryNameStr, m_sn.c_str());
|
|
|
|
|
sprintf(sqlCmd, "select %s from %s where sn = '%s';", entryNameStr, tableName, m_sn.c_str());
|
|
|
|
|
int ret = mysql_query(m_userMgr->m_sql, sqlCmd);
|
|
|
|
|
if (0 != ret)
|
|
|
|
|
{
|
|
|
|
|