Commit d947008d by 李定达

Merge branch 'feature/stallsshow' into develop

# Conflicts:
#	takeout/control/stallsgetwork.cpp
#	takeout/view/newmainform.cpp
#	takeout/view/newmainform.ui
1.界面调整基本完成;
parents c39f8eab 5b51d0b3
......@@ -36,11 +36,16 @@
<file>refund_on.png</file>
<file>setting_off.png</file>
<file>setting_on.png</file>
<file>scan_off.png</file>
<file>scan_on.png</file>
<file>mainlogo.png</file>
<file>newmainhide.png</file>
<file>com.png</file>
<file>lpt.png</file>
<file>net.png</file>
<file>dev.png</file>
<file>login_back.png</file>
<file>login_save.png</file>
<file>login_unsave.png</file>
</qresource>
</RCC>
\ No newline at end of file
......@@ -689,7 +689,7 @@ QWidget
/*---------------------------------PickUpForm[end]-------------------------------------*/
/*---------------------------------NewMainForm[end]-------------------------------------*/
/*---------------------------------NewMainForm[start]-------------------------------------*/
#newmainlabel_logo
{
......@@ -713,6 +713,10 @@ QWidget
}
/*---------------------------------NewMainForm[end]-------------------------------------*/
/*---------------------------------NewLogonForm[start]-------------------------------------*/
/*---------------------------------NewLogonForm[end]-------------------------------------*/
......
#ifndef NEWPRINTLIB_H
#define NEWPRINTLIB_H
#include "Model/productObject.h"
#include "Model/orderObject.h"
#include "printdocument.h"
typedef void (*Unloaddll)();
typedef bool (*LoadAddress)();
typedef int (*LabPrtOpen)(char data[]);
typedef int (*LabPrtLine)(int x, int y, int line, const char *data);
typedef int (*LabPrtClose)();
typedef int (*PrtOpen)(char data[]);
typedef int (*PrtClose)();
typedef void (*FreeLine)();
typedef bool (*PrintDataLine)(char data[], int fontType, int fontStyle, int width, int height);
typedef bool (*PrintBarCode)(char data[], int type, int leftMargin, int fontType, int width, int height, int position);
typedef bool (*PrintQRCode)(char data[], int type, int leftMargin, int width);
class NewPrintLib
{
public:
NewPrintLib();
~NewPrintLib();
static NewPrintLib& GetInstance();
/*!
* \brief DoPrint 小票打印
* \param connect 打印模板上下文
* \param config 打印配置
* \param order 订单对象
* \return true:成功 false:失败
*/
bool DoPrint(const QString &config, const QString &context, OrderObject *order);
/*!
* \brief DoBackPrint 后厨打印
* \param page_depart 每种商品打印一页
* \param connect 后厨打印模板上下文
* \param prod_depart 每个商品打印一行
* \param config 后厨打印机配置
* \param stallsprods 档口对应商品编号列表
* \param prod 商品列表
* \return true:成功 false:失败
*/
bool DoBackPrint(int page_depart, int prod_depart, int page_num,
const QStringList &stallsprods, const QString &config,
const QString &context, OrderObject *order);
/*!
* \brief DoLabelPrint 杯贴机打印
* \param config 杯贴打印机配置
* \param prod 商品
* \return true:成功 false:失败
*/
bool DoLabelPrint(const QString &config, OrderObject *order);
private:
bool LoadFunction();
bool PrintLineNode(const PrintDocument &doc, OrderObject *_order);
void PrintLine(const LineNode &line, ProductObject *dish, OrderObject *_order);
void PrintProcudt(const QList<LineNode *> &list, const QList<int> &protlist, OrderObject *_order);
bool GetObjList(int page_depart, int prod_depart, QStringList prodlist, QList<OrderObject> &orderlist, OrderObject *order);
bool GetProdObject(int prod_depart, QList<OrderObject> &orderlist, OrderObject *order);
bool GetProdList(const QStringList &stallsprods, OrderObject *order, QStringList &prodlist);
bool PrintLabel(const QString &config, OrderObject *order);
private:
Unloaddll f_unloaddll;
LoadAddress f_loadaddress;
LabPrtOpen f_labprtiopen;
LabPrtLine f_labprtline;
LabPrtClose f_labprtclose;
PrtOpen f_prtopen;
PrtClose f_prtclose;
FreeLine f_freeline;
PrintDataLine f_printdataline;
PrintBarCode f_printBarcode;
PrintQRCode f_printqrcode;
bool _load_flag;
};
#endif // NEWPRINTLIB_H
......@@ -127,8 +127,6 @@ void PrintLib::_PrintLab( OrderObject* order)
qDebug() << "input9:" << prodname;
//prodname= "dklahsdkjadhaksjdhkasjdhkajsd11231222222222222222312312312312";
f_TSCWinPrintln(0,0,22,0,2,0,0,QString("\xE5\xAE\x8B\xE4\xBD\x93").toLocal8Bit().data(),tmptitle.toLocal8Bit().data(),0);
f_TSCWinPrintln(0,0,22,0,2,0,0,QString("\xE5\xAE\x8B\xE4\xBD\x93").toLocal8Bit().data(),"-----------------------------------",0.0266666);
f_TSCWinPrintln(10,0,24,0,2,0,0,QString("\xE5\xAE\x8B\xE4\xBD\x93").toLocal8Bit().data(), prodname.
......@@ -151,13 +149,8 @@ void PrintLib::_PrintLab( OrderObject* order)
property_tags.remove(property_tags.length()-1,1);
f_TSCWinPrintln(10,0,24,0,2,2,0,QString("\xE5\xAE\x8B\xE4\xBD\x93").toLocal8Bit().data(),property_tags.toLocal8Bit().data(),0.0666665);
//预约送达
//QString sendtimes = QString("\xE9\xA2\x84\xE7\xBA\xA6\xE9\x80\x81\xE8\xBE\xBE\x3A");
QString sendtimes = QString("");
//QLOG_DEBUG() << "tmpdelitime : " << tmpdelitime << order->srcdlv_time;
if(tmpdelitime != 0 /*&& (order->order_type == 1 || order->order_type == 2)*/)
{
sendtimes.append(QDateTime::fromTime_t(order->delivery_time).toString("yyyy-MM-dd hh:mm:ss"));
......@@ -166,13 +159,10 @@ void PrintLib::_PrintLab( OrderObject* order)
f_TSCWinPrintln(10,180,26,0,2,0,0,QString("\xE5\xAE\x8B\xE4\xBD\x93").toLocal8Bit().data(),order->store_name.toLocal8Bit().data(),0.0666665);
//qDebug() << "up f_TSCWinPrintPage";
f_TSCWinPrintPage("1","1");
-- num;
}
//qDebug() << "down f_TSCWinPrintPage";
}
}
......
INCLUDEPATH += $$PWD
SOURCES += $$PWD/printlib.cpp \
$$PWD/printDocument.cpp
$$PWD/printDocument.cpp \
$$PWD/newprintlib.cpp
HEADERS += $$PWD/printlib.h \
$$PWD/calculator.h \
$$PWD/printDocument.h
$$PWD/printDocument.h \
$$PWD/newprintlib.h
......@@ -35,6 +35,8 @@ bool OrderLocalizeWork::event(QEvent *e)
GETEVENTINFO(orderid,e,QString);
QLOG_DEBUG() << "otpOrder failed";
otpOrder(orderid);
return true;
......
#ifndef ORDERPRINTWORK_H
#ifndef ORDERPRINTWORK_H
#define ORDERPRINTWORK_H
#include <QObject>
#include "workobject.h"
#include "model/orderObject.h"
class orderprintwork : public WorkObject
{
......@@ -11,7 +12,20 @@ public:
explicit orderprintwork(WorkObject *parent = 0);
virtual bool event(QEvent *e);
private:
void Print(const QString &orderid);
//获取打印模板;
bool GetPrtTemplet(int prttype, int pagew, QString &context, const OrderObject &order);
//小票打印
void DoPrint(const QString &prtname, const QString &orderid, const QVariantMap config, bool &flag);
//标签打印
void DoLabelPrint(const QString &prtname, const QString &orderid, const QVariantMap config, bool &flag);
//后厨打印
void DoBackPrint(const QString &prtname, const QString &orderid, const QVariantMap config, bool &flag);
//工具函数
void MapToString(const QVariantMap map, QString &config);
//展示订单打印结果
void ResultShow(const QString &orderid, bool flag);
};
#endif // ORDERPRINTWORK_H
......@@ -74,7 +74,7 @@ void PrtLocalizeWork::deletePrt(QString prtid)
}
else
{
bool flag = db.dlt(DEFAULT_DBFORM, QString(DB_KEY_PRTID).append("='%1'").arg(prtid));
bool flag = db.dlt(DEFAULT_PRTFORM, QString(DB_KEY_PRTID).append("='%1'").arg(prtid));
QLOG_DEBUG() << "delete prt : " << prtid << "(" << flag << ")";
}
}
......
......@@ -72,18 +72,17 @@ void StallsGetWork::workstart()
while(!_stopflag)
{
//获取档口信息
QJsonObject recvjson = getStallsInfo();
//判断recvjson,如果返回失败和没有商品列表,则不推送这个消息
QJsonObject tmpjson;
QJsonArray tmparray;
if(recvjson.contains(EVENT_KEY_RESULT) && recvjson[EVENT_KEY_RESULT].toObject().contains(EVENT_KEY_FILEPRODUCTLIST)) {
tmpjson = recvjson[EVENT_KEY_RESULT].toObject();
tmparray = tmpjson[EVENT_KEY_FILEPRODUCTLIST].toArray();
if(recvjson[JSON_KEY_CODE].toString() != "100" || tmparray.size() == 0) {
POSTEVENTTYPE(PosEvent::s_change_stalls, recvjson, QJsonObject);
}
if(!GetStalls())
{
QLOG_WARN() << "StallsGetWork::GetStalls failed wait " << DEFAULT_STALLS_TIMEOUT;
QTimer timer;
QEventLoop loop;
connect(this, &StallsGetWork::quit, &loop, &QEventLoop::quit);
connect(&timer, &QTimer::timeout, &loop, &QEventLoop::quit);
timer.start(DEFAULT_STALLS_TIMEOUT);
loop.exec();
continue;
}
//获取档口信息完成后检擦是否退出表示
......@@ -97,8 +96,9 @@ void StallsGetWork::workstart()
_stoped = true;
}
QJsonObject StallsGetWork::getStallsInfo()
bool StallsGetWork::GetStalls()
{
//获取档口信息
QJsonObject json, recvjson;
QString realurl;
QString error;
......@@ -106,7 +106,7 @@ QJsonObject StallsGetWork::getStallsInfo()
if(!GetStallsDataProcess::getStallsOptRequest(json, _storeinfo[JSON_KEY_PARTNERID].toString()))
{
QLOG_ERROR() << "getStallsOptRequest failed";
return QJsonObject();
return false;
}
QLOG_INFO() << "getStallsOptRequest request json : " << json;
......@@ -114,7 +114,7 @@ QJsonObject StallsGetWork::getStallsInfo()
if(!GetStallsDataProcess::getRealUrl(ADVANCEORDER, json, _url, realurl))
{
QLOG_ERROR() << "getStallsOptRequest getRealUrl failed";
return QJsonObject();
return false;
}
QLOG_INFO() << "getStallsOptRequest request url :" << realurl;
......@@ -122,10 +122,37 @@ QJsonObject StallsGetWork::getStallsInfo()
if(!this->S_Request(json, recvjson, realurl, error))
{
QLOG_ERROR() << "getStallsOptRequest failed : " << error;
return QJsonObject();
return false;
}
QLOG_INFO() << "getStallsOptRequest return json : " << recvjson;
return recvjson;
return CheckStallsInfo(recvjson);
}
bool StallsGetWork::CheckStallsInfo(QJsonObject &json)
{
if(!json.contains(JSON_KEY_CODE) || QString("ok").compare(json[JSON_KEY_CODE].toString(), Qt::CaseInsensitive) != 0)
{
QLOG_ERROR() << "StallsGetWork::CheckStallsInfo failed";
return false;
}
if(json.contains(STALLS_KEY_RESULT) && json[STALLS_KEY_RESULT].isObject() &&
json[STALLS_KEY_RESULT].toObject().contains(STALLS_KEY_FILEPRODUCTLIST) &&
json[STALLS_KEY_RESULT].toObject()[STALLS_KEY_FILEPRODUCTLIST].isArray())
{
QLOG_DEBUG() << "StallsGetWork::CheckStallsInfo file_list";
QJsonArray array = json[STALLS_KEY_RESULT].toObject()[STALLS_KEY_FILEPRODUCTLIST].toArray();
if(array.size() > 0)
POSTEVENTTYPE(PosEvent::s_change_stalls, array, QJsonArray);
else
QLOG_WARN() << "file_list is empty";
}
return true;
}
......@@ -28,6 +28,12 @@ signals:
public slots:
void workstart();
private:
bool GetStalls();
bool CheckStallsInfo(QJsonObject &json);
private:
QJsonObject getStallsInfo();
......@@ -115,12 +121,6 @@ private:
complatejson.insert(JSON_KEY_VER, ver);
}
// static bool getPickUpOrderOptRequest(QJsonObject &data, QString orderid, int opt)
// {
// data.insert(JSON_KEY_PIVKUP_ORDERID, orderid);
// data.insert(JSON_KEY_PIVKUP_OPT, opt);
// return true;
// }
static bool getStallsOptRequest(QJsonObject &data, QString partnerid)
{
data.insert(JSON_KEY_PARTNERID, partnerid);
......
......@@ -27,6 +27,7 @@ QEvent::Type PosEvent::s_change_prt = static_cast<QEvent::Type>(QEvent::register
QEvent::Type PosEvent::s_delete_prt = static_cast<QEvent::Type>(QEvent::registerEventType());
QEvent::Type PosEvent::s_change_stalls = static_cast<QEvent::Type>(QEvent::registerEventType());
QEvent::Type PosEvent::s_show_stalls = static_cast<QEvent::Type>(QEvent::registerEventType());
PosEvent::PosEvent(Type e):QEvent(e)
{
......
......@@ -110,6 +110,9 @@ public:
//---------------------档口相关------------------------
//添加档口信息
static Type s_change_stalls;
//档口信息展示
static Type s_show_stalls;
private:
//事件携带的信息,该内存你应当在堆中分配
void *_info;
......
......@@ -15,7 +15,8 @@
#include "control/prtlocalizework.h"
#include "control/stallsgetwork.h"
#include "base/Dump/dump.h"
#include "view/loginform.h"
//#include "view/loginform.h"
#include "view/newloginform.h"
#include <QVariantMap>
#include <QThread>
#include <QDir>
......@@ -200,7 +201,8 @@ int main(int argc, char *argv[])
mainform.MyShow();
loginform.showfull();
#else
LoginForm loginform;
NewLoginForm loginform;
NewMainForm mainform;
FloatForm floatform;
mainform.MyShow();
......
......@@ -5,27 +5,20 @@
#include "event/posevent.h"
#include <QJsonDocument>
#include <QJsonObject>
#include <QJsonArray>
QMap<QString, QStringList> PosStallsPool::_stallsid_prodids_map;
QMap<QString, QStringList> PosStallsPool::_stallsid_prodnames_map;
QVariantMap PosStallsPool::_stallsid_stallsname_map;
QVariantMap PosStallsPool::_stalls_pagenum_map;
QVariantMap PosStallsPool::_stalls_pagedepart_map;
QVariantMap PosStallsPool::_stalls_proddepart_map;
PosStallsPool::PosStallsPool(QObject *parent) : QObject(parent)
{
FMApplication::subscibeEvent(this,PosEvent::s_change_stalls);
}
//QStringList PosStallsPool::stallslist()
//{
// return _stallList;
//}
//QVariantMap PosStallsPool::getStallsIdNameMap()
//{
// return _stallsIdNameMap;
//}
//QVariantMap PosStallsPool::getStallsNamePrdMap()
//{
// return _stallsNamePrdMap;
//}
void PosStallsPool::InitPosStallsPool()
{
static PosStallsPool stallspool;
......@@ -37,26 +30,138 @@ bool PosStallsPool::event(QEvent *e)
{
QLOG_DEBUG() << "PosEvent::s_change_stalls : " << QThread::currentThreadId();
QJsonObject info;
QJsonArray list;
GETEVENTINFO(info,e,QJsonObject);
GETEVENTINFO(list,e,QJsonArray);
QLOG_DEBUG() << "info : " << info;
QLOG_DEBUG() << "PosStallsPoollist : " << list;
//解析档口信息
praseGetStallsInfo(info);
praseGetStallsInfo(list);
return true;
}
}
void PosStallsPool::praseGetStallsInfo(QJsonObject json)
bool PosStallsPool::GetProdNameList(QString stallsid, QStringList &prodnames)
{
// QStringList stallsList = map.value(EVENT_KEY_STALLSLIST).toStringList();
// for(int i = 0; i < stallsList.size(); i++) {
// _stallList.append(stallsList.at(i)["file_name"]);
// stallsIdNameMap.insert(stallsList.at(i)["file_id"], stallsList.at(i)["file_name"]);
// stallsNamePrdMap.insert(stallsList.at(i)["file_name"], stallsList.at(i)["product_list"]);
// }
if(_stallsid_prodnames_map.contains(stallsid))
{
prodnames = _stallsid_prodnames_map[stallsid];
return true;
}
return false;
}
bool PosStallsPool::GetProdIDList(QString stallsid, QStringList &prodids)
{
if(_stallsid_prodids_map.contains(stallsid))
{
prodids = _stallsid_prodids_map[stallsid];
return true;
}
return false;
}
bool PosStallsPool::GetStallsName(QString stallsid, QString &stallsname)
{
if(_stallsid_stallsname_map.contains(stallsid))
{
stallsname = _stallsid_stallsname_map[stallsid].toString();
return true;
}
return false;
}
bool PosStallsPool::GetStallsArgv(QString stallsid, int &pagedepart, int &proddepart, int &pagenum)
{
if(_stalls_pagedepart_map.contains(stallsid) &&
_stalls_pagenum_map.contains(stallsid) &&
_stalls_proddepart_map.contains(stallsid))
{
pagedepart = _stalls_pagedepart_map[stallsid].toInt();
proddepart = _stalls_proddepart_map[stallsid].toInt();
pagenum = _stalls_pagenum_map[stallsid].toInt();
return true;
}
return false;
}
void PosStallsPool::praseGetStallsInfo(QJsonArray array)
{
_stallsid_prodids_map.clear();
_stallsid_prodnames_map.clear();
_stallsid_stallsname_map.clear();
_stalls_pagenum_map.clear();
_stalls_pagedepart_map.clear();
_stalls_proddepart_map.clear();
//QLOG_DEBUG() << "PosStallsPool::praseGetStallsInfo" << array;
foreach (auto v, array)
{
QJsonObject obj = v.toObject();
QString stallsid, stallsname;
int pagedepart = 0, pagenum = 0, proddepart = 0;
QStringList prodids, prodnames;
//QLOG_DEBUG() << "---obj---" << obj;
if(obj.contains(STALLS_KEY_FILEID) && obj.contains(STALLS_KEY_FILENAME) && obj.contains(STALLS_KEY_PRODUCTLIST))
{
//QLOG_DEBUG() << "---obj" << obj;
stallsid = QString::number(obj[STALLS_KEY_FILEID].toInt());
stallsname = obj[STALLS_KEY_FILENAME].toString();
QJsonArray prodarray = obj[STALLS_KEY_PRODUCTLIST].toArray();
praseGetProdInfo(prodarray, prodids, prodnames);
if(!prodids.empty() && !prodnames.isEmpty())
{
if(obj.contains(STALLS_KEY_PAGEDEPART) && obj.contains(STALLS_KEY_PORDDEPART) && obj.contains(STALLS_KEY_PAGENUM))
{
pagedepart = obj[STALLS_KEY_PAGEDEPART].toInt();
proddepart = obj[STALLS_KEY_PORDDEPART].toInt();
pagenum = obj[STALLS_KEY_PAGENUM].toInt();
pagenum = (pagenum == 0 ? 1 : pagenum);
_stalls_pagenum_map.insert(stallsid, pagenum);
_stalls_pagedepart_map.insert(stallsid, pagedepart);
_stalls_proddepart_map.insert(stallsid, proddepart);
}
_stallsid_prodids_map.insert(stallsid, prodids);
_stallsid_prodnames_map.insert(stallsid, prodnames);
_stallsid_stallsname_map.insert(stallsid, stallsname);
}
}
}
QLOG_DEBUG() << "_stallsid_prodid_map:" << _stallsid_prodids_map;
QLOG_DEBUG() << "_stallsid_prodnames_map:" << _stallsid_prodnames_map;
QLOG_DEBUG() << "_stallsid_stallsname_map:" << _stallsid_stallsname_map;
QLOG_DEBUG() << "_stalls_pagenum_map:" << _stalls_pagenum_map;
QLOG_DEBUG() << "_stalls_pagedepart_map:" << _stalls_pagedepart_map;
QLOG_DEBUG() << "_stalls_proddepart_map:" << _stalls_proddepart_map;
if(!_stallsid_stallsname_map.empty())
POSTEVENTTYPE(PosEvent::s_show_stalls, _stallsid_stallsname_map, QVariantMap);
}
void PosStallsPool::praseGetProdInfo(QJsonArray array, QStringList &prodids, QStringList &prodnames)
{
foreach (auto v, array)
{
QJsonObject obj = v.toObject();
if(obj.contains(STALLS_KEY_FILEPRODUCT) && obj.contains(STALLS_KEY_FILEPRODUCTID))
{
prodids.append(obj[STALLS_KEY_FILEPRODUCTID].toString());
prodnames.append(obj[STALLS_KEY_FILEPRODUCT].toString());
}
}
}
......@@ -12,25 +12,45 @@ private:
explicit PosStallsPool(QObject *parent = 0);
public:
// static QStringList stallslist();
// static QVariantMap getStallsIdNameMap();
// static QVariantMap getStallsNamePrdMap();
static void InitPosStallsPool();
bool event(QEvent *e);
static bool GetProdNameList(QString stallsid, QStringList &prodnames);
static bool GetProdIDList(QString stallsid, QStringList &prodids);
static bool GetStallsName(QString stallsid, QString &stallsname);
static bool GetStallsArgv(QString stallsid, int &pagedepart, int &proddepart, int &pagenum);
signals:
public slots:
private:
//解析订阅档口改变事件中拿到的档口信息
void praseGetStallsInfo(QJsonObject json);
static void praseGetStallsInfo(QJsonArray array);
//获取商品列表
static void praseGetProdInfo(QJsonArray array, QStringList &prodidlist, QStringList &prodnames);
private:
//档口id对应的商品id列表
static QMap<QString, QStringList> _stallsid_prodids_map;
//档口id对应的商品名称集合
static QMap<QString, QStringList> _stallsid_prodnames_map;
//档口ID对应的档口名称
static QVariantMap _stallsid_stallsname_map;
//档口对应打印页数
static QVariantMap _stalls_pagenum_map;
//档口名称列表
static QStringList _stallList;
//档口对应打印商品页是否独立
static QVariantMap _stalls_pagedepart_map;
static QMap<QString, QString> _stallsIdNameMap;
static QMap<QString, QStringList> _stallsNamePrdMap;
//档口对应商品是否独占一行
static QVariantMap _stalls_proddepart_map;
};
#endif // POSSTALLSPOOL_H
......@@ -208,13 +208,18 @@
#define DEVENT_KEY_PRTSTALLS "prt_stalls"
//档口信息
#define EVENT_KEY_STALLSLIST "file_list"
#define EVENT_KEY_RESULT "result"
#define EVENT_KEY_FILEPRODUCTLIST "fileProductList"
#define EVENT_KEY_FILEID "file_id"
#define EVENT_KEY_FILENAME "file_name"
#define EVENT_KEY_PRODUCTLIST "productList"
#define EVENT_KEY_FILEPRODUCT "file_product"
#define STALLS_KEY_STALLSLIST "file_list"
#define STALLS_KEY_RESULT "result"
#define STALLS_KEY_FILEPRODUCTLIST "fileProductList"
#define STALLS_KEY_FILEID "file_id"
#define STALLS_KEY_FILENAME "file_name"
#define STALLS_KEY_PRODUCTLIST "productList"
#define STALLS_KEY_FILEPRODUCT "file_product"
#define STALLS_KEY_FILEPRODUCTID "file_product_id"
#define STALLS_KEY_FILEDEPART "is_file_depart"
#define STALLS_KEY_PAGEDEPART "is_file_depart"
#define STALLS_KEY_PORDDEPART "is_product_departl"
#define STALLS_KEY_PAGENUM "print_number"
#define EVENT_KEY_SEASIONCODE "reason_code"
#define EVENT_KEY_SEASION "reason"
......@@ -302,6 +307,8 @@
#define FILE_PRINTO2O80_TEMPLET "printtempleto2o80.txt"
#define FILE_PRINTO2OZZ_TEMPLET "printtempleto2ozz.txt"
#define FILE_PRINTO2OZZ80_TEMPLET "printtempleto2ozz80.txt"
#define FILE_BACKPRINT_TEMPLET "backtemplet.txt"
#define FILE_BACKPRINT80_TEMPLET "backtemplet80.txt"
#define DEFAULT_PRINTF_MAIN_SESSION "Printer"
......@@ -326,5 +333,9 @@
#define PRT_CONF_HIGH "high"
#define PRT_CONF_WIGTH "wigth"
#define DEFAULT_STALLS_TIMEOUT (60*1000)
#define DEFAULT_PAGE_SIZE 4096
#define DEFAULT_CONFIG_SIZE 1024
#endif // PREDEFINE_H
......@@ -21,7 +21,7 @@ LIBS += -L$$PWD/lib -llibeay32 -lssleay32 -lwinspool
LIBS += -lWs2_32
LIBS += -lDbghelp
#DEFINES += USE_QAACTION
DEFINES += USE_QAACTION
DEFINES += FM_NEW_UI
#DEFINES += FM_TEST
......@@ -75,7 +75,8 @@ SOURCES += main.cpp \
control/stallsgetwork.cpp \
model/posstallspool.cpp \
view/prttypeform.cpp \
view/newloginform.cpp
view/newloginform.cpp \
view/newpickupform.cpp
HEADERS += \
event/fmapplication.h \
......@@ -126,7 +127,8 @@ HEADERS += \
control/stallsgetwork.h \
model/posstallspool.h \
view/prttypeform.h \
view/newloginform.h
view/newloginform.h \
view/newpickupform.h
DISTFILES += takeout.rc
......@@ -148,5 +150,6 @@ FORMS += \
view/mainbtn.ui \
view/newdetailform.ui \
view/prttypeform.ui \
view/newloginform.ui
view/newloginform.ui \
view/newpickupform.ui
......@@ -268,7 +268,7 @@
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Maximum</enum>
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
......@@ -297,6 +297,9 @@
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
......@@ -695,10 +698,13 @@
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
<height>70</height>
</size>
</property>
</spacer>
......
......@@ -5,6 +5,8 @@
#include <qDebug>
#include "QsLog.h"
MainBtn::MainBtn(QWidget *parent) :
QWidget(parent),
ui(new Ui::MainBtn)
......@@ -24,7 +26,7 @@ void MainBtn::setChecked(bool check)
QString type = this->property("type").toString();
//qDebug() << "====" << type << ";" << check << _type;
QLOG_DEBUG() << "====" << type << ";" << check << _type;
if(type.compare("order",Qt::CaseInsensitive) == 0)
{
......@@ -59,7 +61,7 @@ void MainBtn::setChecked(bool check)
return ;
}
if(type.compare("set",Qt::CaseInsensitive) == 0);
if(type.compare("set",Qt::CaseInsensitive) == 0)
{
if(check)
{
......@@ -74,6 +76,26 @@ void MainBtn::setChecked(bool check)
}
return ;
}
if(type.compare("scan",Qt::CaseInsensitive) == 0)
{
QLOG_DEBUG() << "*scan" << type;
QLOG_DEBUG() << "*check" << check;
if(check)
{
ui->mainbtnlabel_name->setStyleSheet("#mainbtnlabel_name{color:rgba(255,255,255,1)}");
ui->mainbtnlabel_lg->setStyleSheet("#mainbtnlabel_lg{ border-image: url(:scan_on.png)}");
_info = QString::fromUtf8("\xE6\x89\xAB\xE7\xA0\x81\xE5\x8F\x96\xE9\xA4\x90");
QLOG_DEBUG() << "*scan" << _info;
}
else
{
ui->mainbtnlabel_name->setStyleSheet("#mainbtnlabel_name{color:rgba(54,60,66,1)}");
ui->mainbtnlabel_lg->setStyleSheet("#mainbtnlabel_lg{ border-image: url(:scan_off.png)}");
}
return ;
}
}
void MainBtn::mousePressEvent(QMouseEvent *e)
......@@ -89,6 +111,10 @@ void MainBtn::mousePressEvent(QMouseEvent *e)
void MainBtn::SetText(QString data, QString type)
{
_type = type;
QLOG_DEBUG() << "*type" << _type;
QLOG_DEBUG() << "*data" << data;
ui->mainbtnlabel_name->setText(data);
ui->mainbtnlabel_name->setStyleSheet("#mainbtnlabel_name{color:rgba(255,255,255,1)}");
......@@ -110,6 +136,12 @@ void MainBtn::SetText(QString data, QString type)
ui->mainbtnlabel_lg->setStyleSheet("#mainbtnlabel_lg{ border-image: url(:setting_off.png)}");
return ;
}
if(type.compare("scan",Qt::CaseInsensitive) == 0)
{
ui->mainbtnlabel_lg->setStyleSheet("#mainbtnlabel_lg{ border-image: url(:scan_off.png)}");
return ;
}
}
QString MainBtn::info() const
......
......@@ -7,19 +7,19 @@
<x>0</x>
<y>0</y>
<width>160</width>
<height>80</height>
<height>60</height>
</rect>
</property>
<property name="minimumSize">
<size>
<width>160</width>
<height>80</height>
<height>60</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>160</width>
<height>80</height>
<height>60</height>
</size>
</property>
<property name="windowTitle">
......
......@@ -22,11 +22,13 @@
#include "view/padForm.h"
#include "view/newdetailform.h"
#include "view/prttypeform.h"
#include "view/newpickupform.h"
#define MAIN_ORDER "order"
#define MAIN_REFUND "refund"
#define MAIN_SET "set"
#define MAIN_SCAN "scan"
#define SET_PRT_DV "dv"
#define SET_PRT_COM "com"
......@@ -80,6 +82,7 @@ public slots:
void onMainTableItemClicked(QTableWidgetItem *item);
void onSerachOrder(const QString &key);
void onPrtTypeChanged(int type);
void onPickUpGetOrder(QString orderid);
private slots:
void on_newmainbtn_clicked();
......@@ -111,6 +114,8 @@ private slots:
void on_newmainbtn_findclean_clicked();
void on_newmainbtn_prttest_clicked();
private:
Ui::NewMainForm *ui;
//
......@@ -149,6 +154,9 @@ private:
QButtonGroup _btnGroup;
//当前选中打印机类型
int _prttype;
//扫码取餐界面
NewPickupForm *_pickform;
private:
void InitOrderWidget(QString type);
void InitSetWidget();
......@@ -186,7 +194,10 @@ private:
void DoGetPrtSetting(QString curr);
//更新界面的档口选择
void onSetStalls(QJsonObject json);
void onSetStalls(QVariantMap &map);
void GetStallsText(QString stallsid, QString stallsname, QString &text);
bool GetContext(QString &context);
void InitScanWidget();
};
class NewMainFormDataProcess
......@@ -237,26 +248,6 @@ private:
}
static void GetPrintIniWithInde(int index, QMap<QString, QString> &map)
{
QString section = "Printer";
QString comsection = "COMDEF";
if(index == 2)
{
section = "OtherPrinter";
comsection = "OTHERCOMDEF";
}
if(index > 2)
{
section = QString("OtherPrinter") + QString::number(index - 2 + 1);
comsection = QString("OTHERCOMDEF") + QString::number(index - 2 + 1);
}
GetPrintIni(section, comsection, map);
}
static void SetPrintIni(QString section, QString comsection, QMap<QString, QString> &map)
{
QString path = QString("%1/printer.ini").arg(qApp->applicationDirPath());
......@@ -271,65 +262,6 @@ private:
config.setValue(QString(section) + "/" + it.key(), it.value());
}
}
static void GetPrintIni(QString section, QString comsection, QMap<QString, QString> &map)
{
QString path = QString("%1/printer.ini").arg(qApp->applicationDirPath());
QSettings config(path, QSettings::IniFormat);
if(!config.value(section+"/Name").toString().isEmpty())
map.insert("Name",config.value(section+"/Name").toString());
if(!config.value(section+"/printType").toString().isEmpty())
map.insert("printType",config.value(section+"/printType").toString());
if(!config.value(section+"/PaperWidth").toString().isEmpty())
map.insert("PaperWidth",config.value(section+"/PaperWidth").toString());
// if(!config.value(section+"/levlel").toString().isEmpty())
// map.insert(section+"/levlel",config.value(section+"/levlel").toString());
if(!config.value(section+"/parallel").toString().isEmpty())
map.insert("parallel",config.value(section+"/parallel").toString());
if(!config.value(section+"/type").toString().isEmpty())
map.insert("type",config.value(section+"/type").toString());
if(!config.value(section+"/usb").toString().isEmpty())
map.insert("usb",config.value(section+"/usb").toString());
if(!config.value(section+"/IP").toString().isEmpty())
map.insert("IP",config.value(section+"/IP").toString());
if(!config.value(section+"/Printlabel").toString().isEmpty())
map.insert("Printlabel",config.value(section+"/Printlabel").toString());
// if(!config.value(section+"/LogDays").toString().isEmpty())
// map.insert(section+"/LogDays",config.value(section+"/LogDays").toString());
if(!config.value(section+"/wigth").toString().isEmpty())
map.insert("wigth",config.value(section+"/wigth").toString());
if(!config.value(section+"/high").toString().isEmpty())
map.insert("high",config.value(section+"/high").toString());
// if(!config.value(section+"/speed").toString().isEmpty())
// map.insert(section+"/speed",config.value(section+"/speed").toString());
// if(!config.value(section+"/crow").toString().isEmpty())
// map.insert(section+"/crow",config.value(section+"/crow").toString());
if(!config.value(section+"/labeltype").toString().isEmpty())
map.insert("labeltype",config.value(section+"/labeltype").toString());
if(!config.value(section+"/labelparall").toString().isEmpty())
map.insert("labelparall",config.value(section+"/labelparall").toString());
if(!config.value(section+"/labelusb").toString().isEmpty())
map.insert("labelusb",config.value(section+"/labelusb").toString());
if(!config.value(section+"/labelip").toString().isEmpty())
map.insert("labelip",config.value(section+"/labelip").toString());
if(!config.value(section+"/labelprttype").toString().isEmpty())
map.insert("labelprttype",config.value(section+"/labelprttype").toString());
//-----------------------------------------------------------------------------------
if(!config.value(comsection+"/com").toString().isEmpty())
map.insert("com", config.value(comsection+"/com").toString());
if(!config.value(comsection+"/Baudrate").toString().isEmpty())
map.insert("Baudrate", config.value(comsection+"/Baudrate").toString());
if(!config.value(comsection+"/DataBits").toString().isEmpty())
map.insert("DataBits",config.value(comsection+"/DataBits").toString());
if(!config.value(comsection+"/StopBits").toString().isEmpty())
map.insert("StopBits",config.value(comsection+"/StopBits").toString());
if(!config.value(comsection+"/Parity").toString().isEmpty())
map.insert("Parity",config.value(comsection+"/Parity").toString());
if(!config.value(comsection+"/FlowControl").toString().isEmpty())
map.insert("FlowControl",config.value(comsection+"/FlowControl").toString());
}
};
#endif // NEWMAINFORM_H
#include "newpickupform.h"
#include "ui_newpickupform.h"
#include <QKeyEvent>
#include "QsLog.h"
#include "model/posorderpool.h"
NewPickupForm::NewPickupForm(QWidget *parent) :
QWidget(parent),
ui(new Ui::NewPickupForm)
{
ui->setupUi(this);
}
NewPickupForm::~NewPickupForm()
{
delete ui;
}
void NewPickupForm::Initshow()
{
ui->widgetmsg->show();
ui->widgetinput->show();
ui->widgetok->hide();
ui->widgetrlt->hide();
ui->lineEditpickupcode->show();
ui->lineEditpickupcode->clear();
ui->labelpickupwar->hide();
ui->labelpickupmsg->show();
ui->labelpickupmsg->setText(QString::fromUtf8("\xE8\xAF\xB7\xE6\x89\xAB\xE7\xA0\x81\xE7\x94\xA8\xE6\x88\xB7\xE5\x8F\x96\xE9\xA4\x90\xE7\xA0\x81"));
ui->lineEditpickupcode->setFocus();
this->show();
}
void NewPickupForm::keyPressEvent(QKeyEvent *e)
{
QLOG_DEBUG() << "*****************:" << e->key();
if(e->key() == Qt::Key_Enter || e->key() == Qt::Key_Return) //判断是否是回车键按下
{
if(ui->lineEditpickupcode->text().isEmpty())
{
ui->labelpickuprltmsg->setText(QString::fromUtf8("\xE5\x8F\x96\xE9\xA4\x90\xE7\xA0\x81\xE4\xB8\x8D\xE8\x83\xBD\xE4\xB8\xBA\xE7\xA9\xBA"));
return ;
}
int status = DefaultOrder, refund_status = DefaultOrder;
bool oldorder;
if(PosOrderPool::GetOrderStatus(ui->lineEditpickupcode->text(), status, refund_status, oldorder) && refund_status != CompleteRefundOrder && status != CancelOrder)
{
QLOG_DEBUG() << "*****************:" << status << refund_status;
if(refund_status == ApplicationRefundOrder || refund_status == ApplicationPartialRefundOrder)
{
ui->widgetrlt->show();
ui->labelpickuprltmsg->setText(QString::fromUtf8("\xE5\xB7\xB2\xE7\x94\xB3\xE8\xAF\xB7\xE9\x80\x80\xE5\x8D\x95\xE7\x9A\x84\xE8\xAE\xA2\xE5\x8D\x95\x5C\x72\x5C\x6E\xE8\xAF\xB7\xE5\x85\x88\xE6\x8B\x92\xE7\xBB\x9D\xE9\x80\x80\xE5\x8D\x95\xE5\x86\x8D\xE5\x8F\x96\xE9\xA4\x90\x21"));
return ;
}
if(status == NewOrder && !(refund_status == ApplicationRefundOrder || refund_status == ApplicationPartialRefundOrder))
{
ui->widgetrlt->show();
ui->labelpickuprltmsg->setText(QString::fromUtf8("\xE6\x96\xB0\xE8\xAE\xA2\xE5\x8D\x95\x5C\x72\x5C\x6E\xE8\xAF\xB7\xE5\x85\x88\xE6\x8E\xA5\xE5\x8D\x95\xE5\x86\x8D\xE5\x8F\x96\xE9\xA4\x90\x21"));
return ;
}
if((status == CompleteOrder || status == ServiceOrder) && !(refund_status == ApplicationRefundOrder || refund_status == ApplicationPartialRefundOrder))
{
ui->labelpickupmsg->setText(QString::fromUtf8("\xE8\xAE\xA2\xE5\x8D\x95\xE5\x8F\xAF\xE8\x83\xBD\xE5\xB7\xB2\xE7\xBB\x8F\xE8\xA2\xAB\xE6\x8B\xBF\xE8\xB5\xB0\x5C\x72\x5C\x6E\xE8\xAF\xB7\xE7\xA1\xAE\xE8\xAE\xA4\xE5\x8F\x96\xE9\xA4\x90\xE7\x94\xA8\xE6\x88\xB7\xE6\x98\xAF\xE5\x90\xA6\xE6\xAD\xA3\xE7\xA1\xAE\x21"));
ui->labelpickupwar->show();
ui->widgetok->show();
ui->widgetmsg->show();
ui->labelpickupwar->show();
ui->widgetrlt->hide();
ui->widgetinput->hide();
return ;
}
this->hide();
emit showorderinfo(ui->lineEditpickupcode->text());
}
else
{
QLOG_DEBUG() << "*****************:" << status << refund_status;
ui->widgetrlt->show();
ui->labelpickuprltmsg->setText(QString::fromUtf8("\xE8\xAE\xA2\xE5\x8D\x95\xE4\xB8\x8D\xE5\xAD\x98\xE5\x9C\xA8"));
}
return ;
}
return QWidget::keyPressEvent(e);
}
#ifndef NEWPICKUPFORM_H
#define NEWPICKUPFORM_H
#include <QWidget>
namespace Ui {
class NewPickupForm;
}
class NewPickupForm : public QWidget
{
Q_OBJECT
public:
explicit NewPickupForm(QWidget *parent = 0);
~NewPickupForm();
void Initshow();
void keyPressEvent(QKeyEvent *e);
signals:
void showorderinfo(QString pickupid);
private:
Ui::NewPickupForm *ui;
};
#endif // NEWPICKUPFORM_H
......@@ -3,6 +3,8 @@
#include <QTableWidget>
#include <QMouseEvent>
#include "QsLog.h"
OrderTypeForm::OrderTypeForm(QWidget *parent) :
QWidget(parent),
......@@ -20,17 +22,6 @@ OrderTypeForm::~OrderTypeForm()
delete ui;
}
void OrderTypeForm::mousePressEvent(QMouseEvent *e)
{
if(e->buttons()&Qt::LeftButton)
{
QTableWidget* table = (QTableWidget*)parent();
emit table->itemClicked(table->selectedItems()[0]);
return ;
}
return QWidget::mousePressEvent(e);
}
void OrderTypeForm::InitShow(QString order_id, int order_status, int refund_status, int order_type)
{
_order_id = order_id;
......
......@@ -2,6 +2,7 @@
#define ORDERTYPEFORM_H
#include <QWidget>
#include <QTableWidget>
#include "model/posorderpool.h"
......@@ -30,8 +31,6 @@ public:
int order_type() const;
void SetNameStyle(int status);
void mousePressEvent(QMouseEvent *e);
private:
Ui::OrderTypeForm *ui;
QString _order_id;
......
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