Commit 8a8cfe1d by 李定达

1.阿香米线券码插件守护

parent b92fc0bc
......@@ -36,4 +36,8 @@
// reportRequest
#define JSON_UPDATESTATE "UpdateState"
#define INI_BASE_STOREIDXML "all/storexml"
#define DEFAULT_STOREIDXML "D:/Choice/PosClient/PosData/store.xml"
#endif // FMDEFINE_H
......@@ -10,7 +10,8 @@ CONFIG += c++11
DEFINES += QUAZIP_STATIC
#DEFINES += SHIQIJIA
#DEFINES += SHAN_LIN
DEFINES += BALIBEITIAN
#DEFINES += BALIBEITIAN
DEFINES += AXMX
#DEFINES += AI_SEN
#DEFINES += TODAY
......
......@@ -9,17 +9,107 @@
#include <QFile>
#include <QDir>
#include <QDebug>
#include <QXmlStreamReader>
FmTools &FmTools::GetInstance()
{
static FmTools ft;
return ft;
}
bool FmTools::ReadXml(QString xmlfilename, QMap<QString, QString> &value, QString key, QString &outNum, bool flg)
{
QXmlStreamReader xml;
QFile file(xmlfilename);
bool sign = false;
//outNum = QString();
if(!file.open(QFile::ReadOnly | QFile::Text))
{
qDebug() << QString("open %1 failed").arg(xmlfilename);
return false;
}
xml.setDevice(&file);
while(!xml.atEnd() && !xml.hasError())
{
if (xml.isStartElement())
{
if ((xml.name() == key && value.size() == 0)
|| (xml.name() == key && value.value(value.firstKey()) == "")
|| (xml.name() == key && xml.attributes().value(value.firstKey()).toString().compare(value.value(value.firstKey()), Qt::CaseInsensitive) == 0 ))
{
if(flg == false)
{
flg = true;
xml.readNext();
continue ;
}
if(outNum == "")
{
xml.readNext();
outNum = xml.text().toString();
}
else
outNum = xml.attributes().value(outNum).toString();
sign = true;
break;
} else
{
xml.readNext();
}
} else
{
xml.readNext();
}
}
do
{
if(xml.hasError())
{
qDebug() << QString("%1 file error").arg(xmlfilename);
sign = false;
break;
}else if (file.error() != QFile::NoError)
{
qDebug() << QString("read %1 error").arg(xmlfilename);
sign = false;
break;
}
}while(0);
xml.clear();
file.close();
return sign;
}
FmTools::FmTools()
{
QString iniPath = QString("%1/%2").arg(QCoreApplication::applicationDirPath(), INIFILE_NAME);
m_config = new QSettings(iniPath, QSettings::IniFormat);
#ifdef AXMX
QString path = QSettings(iniPath, QSettings::IniFormat).value(INI_BASE_STOREIDXML).toString();
if(path.isEmpty())
path = DEFAULT_STOREIDXML;
QMap<QString, QString> map;
QString storeid = "SCODE";
m_partnerId = "1525";
m_keyStoreId = "0000";
m_keyPosId = "1";
if(ReadXml(path, map, "store", storeid))
m_keyStoreId = storeid;
qDebug() << "-----------------------------" << storeid;
#endif
#ifdef BALIBEITIAN
#define MY_CFG "FMPOS.ini"
......@@ -208,6 +298,9 @@ QByteArray FmTools::GetUpdateData()
#ifdef SHIQIJIA
rObj.insert(JSON_STOREID, m_keyStoreId);
rObj.insert(JSON_POSNO, m_keyPosId);
#elif AXMX
rObj.insert(JSON_STOREID, m_keyStoreId);
rObj.insert(JSON_POSNO, m_keyPosId);
#else
rObj.insert(JSON_STOREID, setting.value(m_keyStoreId).toString());
rObj.insert(JSON_POSNO, setting.value(m_keyPosId).toString());
......@@ -238,9 +331,19 @@ QByteArray FmTools::GetReportData(QString planid, QString msg, QString updateSta
QSettings setting(m_siIniPath, QSettings::IniFormat);
QJsonObject rObj;
rObj.insert(JSON_PARTNERID, m_partnerId);
#ifdef SHIQIJIA
rObj.insert(JSON_STOREID, m_keyStoreId);
rObj.insert(JSON_POSNO, m_keyPosId);
#elif AXMX
rObj.insert(JSON_STOREID, m_keyStoreId);
rObj.insert(JSON_POSNO, m_keyPosId);
#else
rObj.insert(JSON_STOREID, setting.value(m_keyStoreId).toString());
rObj.insert(JSON_POSNO, setting.value(m_keyPosId).toString());
#endif
rObj.insert(JSON_PARTNERID, m_partnerId);
rObj.insert(JSON_PLANID, planid);
rObj.insert(JSON_UPDATESTATE, updateState);
rObj.insert(JSON_MSG, msg);
......
......@@ -57,6 +57,8 @@ public:
* */
QByteArray GetReportData(QString planId="", QString msg="", QString state="");
bool ReadXml(QString xmlfilename, QMap<QString, QString> &value, QString key, QString &outNum, bool flg = true);
private:
FmTools();
~FmTools();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment