Программа позволяет вести инвентаризацию затраченных продуктов. В программе есть два вида пользователей: официанты (могут регистрировать только заказы) и руководство (имеет доступ ко всему функционалу).
В программе можно сформировать меню, т.е. указать блюда и из состав из продуктов. Также регистрируются поставки продуктов и заказы в ресторане. По необходимости регистрируются данные инвентаризации.
На основании указанных данных можно сформировать ведомость, в которой выводятся данные о поставленных товарах, затраченных, теоретический остаток и фактический остаток по инвентаризации.
На основании заполненного заказа можно сформировать чек.
На основании поставок можно сформировать итоговые показатели по поставкам продуктов
private void button1_Click(object sender, EventArgs e)
{
DataTable dt = new DataTable();
DataTable dt2 = new DataTable();
DataRow dr;
dt.Columns.Add("КодЗаказа");
dt.Columns.Add("Дата");
dt.Columns.Add("Официант");
dt2.Columns.Add("Блюдо");
dt2.Columns.Add("Цена");
dt2.Columns.Add("Количество");
dt2.Columns.Add("Сумма");
OleDbDataAdapter dat;
OleDbDataAdapter dat2;
DataSet dst;
DataSet dst2;
OleDbConnection myConnection;
myConnection = new OleDbConnection(ConfigurationManager.ConnectionStrings["InvProduct.Properties.Settings.bazaConnectionString"].ConnectionString);
//-------------
string command = "SELECT Заказы.[Код заказа], Заказы.Стол, Заказы.Дата, Сотрудники.ФИО FROM Сотрудники INNER JOIN Заказы ON Сотрудники.Код = Заказы.Официант WHERE [Код заказа] =" + заказыDataGridView.CurrentRow.Cells[0].Value.ToString();
dat = new OleDbDataAdapter(command, ConfigurationManager.ConnectionStrings["InvProduct.Properties.Settings.bazaConnectionString"].ConnectionString);
dst = new DataSet();
myConnection.Open();
dat.Fill(dst);
myConnection.Close();
dr = dt.NewRow();
dr["КодЗаказа"] = (string)dst.Tables[0].Rows[0]["Код заказа"].ToString();
dr["Дата"] = (string)dst.Tables[0].Rows[0]["Дата"].ToString();
dr["Официант"] = (string)dst.Tables[0].Rows[0]["ФИО"].ToString();
dt.Rows.Add(dr);
//-------------
//-------------
string command1 = "SELECT Блюда.Название, Блюда.Цена, [Блюда заказа].Количество, Блюда.Цена*[Блюда заказа].Количество AS Сумма" +
" FROM Блюда INNER JOIN[Блюда заказа] ON Блюда.Код = [Блюда заказа].[Код блюда]" +
" WHERE((([Блюда заказа].[Код заказа]) = "+ заказыDataGridView.CurrentRow.Cells[0].Value.ToString() + "));";
dat2 = new OleDbDataAdapter(command1, ConfigurationManager.ConnectionStrings["InvProduct.Properties.Settings.bazaConnectionString"].ConnectionString);
dst2 = new DataSet();
myConnection.Open();
dat2.Fill(dst2);
myConnection.Close();
DataTable Table2 = dst2.Tables[0];
for (int i = 0; i < Table2.Rows.Count; i++)
{
dr = dt2.NewRow();
dr["Блюдо"] = (string)dst2.Tables[0].Rows[i]["Название"].ToString();
dr["Цена"] = (string)dst2.Tables[0].Rows[i]["Цена"].ToString();
dr["Количество"] = (string)dst2.Tables[0].Rows[i]["Количество"].ToString();
dr["Сумма"] = (string)dst2.Tables[0].Rows[i]["Сумма"].ToString();
dt2.Rows.Add(dr);
}
//-------------
ExcelDocument document = new ExcelDocument();//формируем документ и предаем таблицу, с выбранными товарами
document.dtChek = dt;
document.dtBludaZakaza = dt2;
document.DocCheck();
MessageBox.Show("Готово!");
}
Содержание архива:
- Исходный код на языке C# в среде Visual Studio;
- База данных в СУБД MS Access.
На компьютере должен быть установлен активированный MS Office, для формирования отчетов программы
Телеграм
-