|
|
@@ -1039,6 +1039,10 @@ void CZhengcanDiandanPageUI::HandleClickMsg(TNotifyUI& msg)
|
|
|
{
|
|
|
this->ClickQuxiaoCika();
|
|
|
}
|
|
|
+ else if (name == L"btn_diandan_yulandan")
|
|
|
+ {
|
|
|
+ this->ClickYulan();
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
//处理option切换事件
|
|
|
@@ -3275,6 +3279,15 @@ void CZhengcanDiandanPageUI::ClickRenshu()
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+void CZhengcanDiandanPageUI::ClickYulan()
|
|
|
+{
|
|
|
+ //处理打印
|
|
|
+ CZhengcanOrder order = this->GetPrintOrderinfoYulan();
|
|
|
+
|
|
|
+ CPosPrinter printer;
|
|
|
+ printer.PrintZhengcanOrderXiadan(order);
|
|
|
+}
|
|
|
+
|
|
|
//获取通用参数,任何支付方式都要用到的参数,个性化参数在弹框里面处理
|
|
|
//参考文档 http://apidoc.zhipuzi.com/index.php/home/item/show?item_id=4
|
|
|
std::map<string, string> CZhengcanDiandanPageUI::GetSendorderParams()
|
|
|
@@ -4330,6 +4343,101 @@ CZhengcanOrder CZhengcanDiandanPageUI::GetPrintOrderinfoTuicai(CZhengcanOrderIte
|
|
|
return m_cur_diandan_order;
|
|
|
}
|
|
|
|
|
|
+CZhengcanOrder CZhengcanDiandanPageUI::GetPrintOrderinfoYulan()
|
|
|
+{
|
|
|
+ m_cur_diandan_order.shopname = CShopinfo::GetInstance()->m_shop_name;
|
|
|
+
|
|
|
+ m_cur_diandan_order.order_from = 1;
|
|
|
+ m_cur_diandan_order.init_time = CLewaimaiTime::DatetimeToString(time(NULL));
|
|
|
+
|
|
|
+ m_cur_diandan_order.m_shangpinquan_youhui = CLewaimaiString::DoubleToString(m_shangpinquan_youhui, 2);
|
|
|
+ m_cur_diandan_order.m_cika_youhui = CLewaimaiString::DoubleToString(m_cika_youhui, 2);
|
|
|
+ m_cur_diandan_order.m_total_member_youhui = CLewaimaiString::DoubleToString(m_total_member_youhui, 2);
|
|
|
+ m_cur_diandan_order.m_zhekou_youhui = CLewaimaiString::DoubleToString(m_zhekou_youhui, 2);
|
|
|
+ m_cur_diandan_order.m_member_zhekou_youhui = CLewaimaiString::DoubleToString(m_member_zhekou_youhui, 2);
|
|
|
+ m_cur_diandan_order.m_quanyika_youhui = CLewaimaiString::DoubleToString(m_quanyika_youhui, 2);
|
|
|
+ m_cur_diandan_order.m_manjian_youhui = CLewaimaiString::DoubleToString(m_manjian_youhui, 2);
|
|
|
+ m_cur_diandan_order.m_youhuiquan_youhui = CLewaimaiString::DoubleToString(m_youhuiquan_youhui, 2);
|
|
|
+ m_cur_diandan_order.m_rengong_youhui = CLewaimaiString::DoubleToString(m_rengong_youhui, 2);
|
|
|
+ m_cur_diandan_order.m_moling_youhui = CLewaimaiString::DoubleToString(m_moling_youhui, 2);
|
|
|
+
|
|
|
+ m_cur_diandan_order.m_jiajia = CLewaimaiString::DoubleToString(m_jiajia, 2);
|
|
|
+
|
|
|
+ m_cur_diandan_order.m_shishou_value = m_shishou_value;
|
|
|
+ m_cur_diandan_order.m_zhaoling_value = m_zhaoling_value;
|
|
|
+
|
|
|
+ m_cur_diandan_order.m_zhekou_value = m_zhekou_value;
|
|
|
+
|
|
|
+ m_cur_diandan_order.m_dabao_money = CLewaimaiString::DoubleToString(m_cur_diandan_order.getDabaoMoney(), 2);
|
|
|
+ m_cur_diandan_order.m_total_price = CLewaimaiString::DoubleToString(m_cur_total_price, 2);
|
|
|
+
|
|
|
+ for (std::vector<CZhengcanOrderItem>::iterator it = m_cur_diandan_order.m_items.begin(); it != m_cur_diandan_order.m_items.end(); it++)
|
|
|
+ {
|
|
|
+ CZhengcanOrderItemPrint itemPrint;
|
|
|
+
|
|
|
+ itemPrint.m_food_name = it->getNameWanzhengShow();
|
|
|
+ itemPrint.m_quantity = it->num;
|
|
|
+ itemPrint.m_item_price = it->getSinglePrice();
|
|
|
+ itemPrint.m_type_id = it->type_id;
|
|
|
+
|
|
|
+ if (it->m_is_taocan == true)
|
|
|
+ {
|
|
|
+ itemPrint.is_taocan = true;
|
|
|
+ }
|
|
|
+
|
|
|
+ m_cur_diandan_order.m_items_print.push_back(itemPrint);
|
|
|
+
|
|
|
+ if (it->m_is_taocan == true)
|
|
|
+ {
|
|
|
+ //开始保存套餐里面的商品详情,主要用于厨房打印
|
|
|
+ CFoodpackage foodpackageinfo;
|
|
|
+ foodpackageinfo = it->GetFoodpackageInfo();
|
|
|
+
|
|
|
+ std::string nature = foodpackageinfo.nature;
|
|
|
+
|
|
|
+ rapidjson::Document document;
|
|
|
+ document.Parse(nature.c_str());
|
|
|
+
|
|
|
+ if (document.HasParseError())
|
|
|
+ {
|
|
|
+ //属性json报错,直接不处理了
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+
|
|
|
+ rapidjson::Value& data = document;
|
|
|
+
|
|
|
+ //接下来要把这个套餐的详情也保存下来
|
|
|
+ for (std::vector<FoodNatureSelectValue>::iterator it_2 = it->natureSelectedArray.begin(); it_2 != it->natureSelectedArray.end(); it_2++)
|
|
|
+ {
|
|
|
+ std::string food_id = data[it_2->nNameIndex]["value"][it_2->nature_select_index].GetString();
|
|
|
+
|
|
|
+ //要根据商品ID找出商品的名字
|
|
|
+ CFood foodinfo;
|
|
|
+ CSqlite3 sqlite;
|
|
|
+ bool is_found = sqlite.GetFoodById(food_id, foodinfo);
|
|
|
+ if (!is_found)
|
|
|
+ {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+
|
|
|
+ CZhengcanOrderItemPrint foodpackageitemPrint;
|
|
|
+
|
|
|
+ foodpackageitemPrint.m_food_name = foodinfo.name;
|
|
|
+ foodpackageitemPrint.m_quantity = it->num;
|
|
|
+ foodpackageitemPrint.m_item_price = foodinfo.price;
|
|
|
+ foodpackageitemPrint.m_type_id = foodinfo.type_id;
|
|
|
+
|
|
|
+ foodpackageitemPrint.is_taocan = false;
|
|
|
+ foodpackageitemPrint.is_taocan_item = true;
|
|
|
+
|
|
|
+ m_cur_diandan_order.m_items_print.push_back(foodpackageitemPrint);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return m_cur_diandan_order;
|
|
|
+}
|
|
|
+
|
|
|
CZhengcanOrder CZhengcanDiandanPageUI::GetPrintOrderinfo(std::string take_food_code, std::string show_trade_no, std::string shoukuan_type, std::string balance, std::string member_number)
|
|
|
{
|
|
|
m_cur_diandan_order.shopname = CShopinfo::GetInstance()->m_shop_name;
|