zhangyang hace 4 años
padre
commit
d3e5bcd2be

BIN
bin/Win32/Debug/zhipuzi_pos_windows/db/pos.db


+ 24 - 31
zhipuzi_pos_windows/page/CDiandanPageUI.cpp

@@ -92,19 +92,16 @@ void CDiandanPageUI::InitFoodtypeShow()
 	{
 		CFoodType type = *it;
 
-		if (type.is_shouyinji_show == "1")
-		{
-			CDialogBuilder builder;
-			CDialogBuilderCallbackEx cb;
+		CDialogBuilder builder;
+		CDialogBuilderCallbackEx cb;
 
-			CFoodtypeOptionUI* pItem = static_cast<CFoodtypeOptionUI*>(builder.Create(_T("foodtype_option.xml"), (UINT)0, &cb, m_pManager));
+		CFoodtypeOptionUI* pItem = static_cast<CFoodtypeOptionUI*>(builder.Create(_T("foodtype_option.xml"), (UINT)0, &cb, m_pManager));
 
-			pItem->SetName(CLewaimaiString::UTF8ToUnicode(type.name));
-			pItem->SetTypeId(type.id);
-			pItem->SetGroup(L"diandan_foodtype");
+		pItem->SetName(CLewaimaiString::UTF8ToUnicode(type.name));
+		pItem->SetTypeId(type.id);
+		pItem->SetGroup(L"diandan_foodtype");
 
-			m_foodtypeLayout->Add(pItem);
-		}
+		m_foodtypeLayout->Add(pItem);
 	}
 }
 
@@ -123,33 +120,29 @@ void CDiandanPageUI::InitFoodShow()
 	{
 		//正常的商品分类
 
-	}
-
-	SIZE itemSize;
-	itemSize.cx = 150;
-	itemSize.cy = 200;
+		//设置商品布局的参数
+		SIZE itemSize;
+		itemSize.cx = 150;
+		itemSize.cy = 200;
 
-	m_foodLayout->SetItemSize(itemSize);
+		m_foodLayout->SetItemSize(itemSize);
 
-	m_foodLayout->SetChildPadding(20);
-	m_foodLayout->SetChildVPadding(20);
+		m_foodLayout->SetChildPadding(20);
+		m_foodLayout->SetChildVPadding(20);
 
-	for (int i = 0; i < 50; ++i)
-	{
-		//创建一个对象
-		CDialogBuilder builder;
-		CDialogBuilderCallbackEx cb;
+		CSqlite3 sqlite;
+		std::vector<CFood> foodlist = sqlite.GetFoodByTypeid(m_cur_type_id);
 
-		CDiandanFoodItemUI* pItem = static_cast<CDiandanFoodItemUI*>(builder.Create(_T("diandan_fooditem.xml"), (UINT)0, &cb, m_pManager));
-		if (pItem != NULL)
+		for (std::vector<CFood>::iterator it = foodlist.begin(); it != foodlist.end(); it++)
 		{
-			m_foodLayout->Add(pItem);
+			CFood food = *it;
 
-			pItem = NULL;
-		}
-		else
-		{
-			LOG_INFO("create waimai_order_item fail!");
+			CDialogBuilder builder;
+			CDialogBuilderCallbackEx cb;
+
+			CDiandanFoodItemUI* pItem = static_cast<CDiandanFoodItemUI*>(builder.Create(_T("diandan_fooditem.xml"), (UINT)0, &cb, m_pManager));
+
+			m_foodLayout->Add(pItem);
 		}
 	}
 }

+ 63 - 0
zhipuzi_pos_windows/tool/CSqlite3.cpp

@@ -1030,4 +1030,67 @@ std::vector<CFoodType> CSqlite3::GetFoodtypes(bool is_shouyinji_show)
 	}
 
 	return data;
+}
+
+std::vector<CFood> CSqlite3::GetFoodByTypeid(std::string type_id, bool is_shouyinji_show)
+{
+	std::vector<CFood> data;
+
+	std::string sql;
+
+	if (is_shouyinji_show)
+	{
+		sql = "SELECT * FROM pos_food WHERE status='NORMAL' and is_shouyinji_show = '1';";
+	}
+	else
+	{
+		sql = "SELECT * FROM pos_food WHERE status='NORMAL';";
+	}
+
+	sqlite3_stmt * stmt = NULL;
+
+	if (sqlite3_prepare_v2(m_db, sql.c_str(), -1, &stmt, NULL) == SQLITE_OK)
+	{
+		while (sqlite3_step(stmt) == SQLITE_ROW)
+		{
+			CFood newFood;
+
+			newFood.id = (char*)sqlite3_column_text(stmt, 0);
+			newFood.shop_id = (char*)sqlite3_column_text(stmt, 1);
+			newFood.name = (char*)sqlite3_column_text(stmt, 2);
+			newFood.price = (char*)sqlite3_column_text(stmt, 3);
+			newFood.tag = (char*)sqlite3_column_text(stmt, 4);
+			newFood.status = (char*)sqlite3_column_text(stmt, 5);
+			newFood.type_id = (char*)sqlite3_column_text(stmt, 6);
+			newFood.is_dabao = (char*)sqlite3_column_text(stmt, 7);
+			newFood.dabao_money = (char*)sqlite3_column_text(stmt, 8);
+			newFood.is_nature = (char*)sqlite3_column_text(stmt, 9);
+			newFood.nature = (char*)sqlite3_column_text(stmt, 10);
+			newFood.autostocknum = (char*)sqlite3_column_text(stmt, 11);
+			newFood.goods_img = (char*)sqlite3_column_text(stmt, 12);
+			newFood.unit = (char*)sqlite3_column_text(stmt, 13);
+			newFood.barcode = (char*)sqlite3_column_text(stmt, 14);
+			newFood.member_price_used = (char*)sqlite3_column_text(stmt, 15);
+			newFood.member_price = (char*)sqlite3_column_text(stmt, 16);
+			newFood.buying_price = (char*)sqlite3_column_text(stmt, 17);
+			newFood.stock = (char*)sqlite3_column_text(stmt,18);
+			newFood.stockvalid = (char*)sqlite3_column_text(stmt, 19);
+			newFood.stock_warning = (char*)sqlite3_column_text(stmt, 20);
+			newFood.is_shouyinji_show = (char*)sqlite3_column_text(stmt, 21);
+			newFood.expiration_date = (char*)sqlite3_column_text(stmt, 22);
+			newFood.is_weight = (char*)sqlite3_column_text(stmt, 23);
+			newFood.member_price_json = (char*)sqlite3_column_text(stmt, 24);
+
+			data.push_back(newFood);
+		}
+
+		sqlite3_finalize(stmt);
+	}
+	else
+	{
+		//Òì³£Çé¿ö
+		sqlite3_finalize(stmt);
+	}
+
+	return data;
 }

+ 3 - 0
zhipuzi_pos_windows/tool/CSqlite3.h

@@ -5,6 +5,7 @@
 #include "CSetting.h"
 
 #include "../zhipuzi/CFoodtype.h"
+#include "../zhipuzi/CFood.h"
 
 class CSqlite3
 {
@@ -37,6 +38,8 @@ public:
 
 	std::vector<CFoodType> GetFoodtypes(bool is_shouyinji_show = true);
 
+	std::vector<CFood> GetFoodByTypeid(std::string type_id, bool is_shouyinji_show = true);
+
 private:
 	bool ExeSQl(std::string sql);