Дипломная (вкр): Розробка і впровадження інформаційного забезпечення магазину

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Рис.3.4.8. Введення штрих коду.

Рис.3.4.9. Відображення товару в чекові.

Внизу вікна розміщено дві кнопки: «Оплатити чек», «Видалити чек». Кнопка «Видалити чек» знищує записи даного чеку у разі, якщо покупець не оплачує чек. Кнопка «Оплатити чек» здійсню відкриття нового вікна, де продавець вводить суму отриману від продавця, а програма автоматично визначає решту, яку потрібно повернути покупцеві (див. рис. 3.4.10). Після оплати чек заноситься до БД.

Рис. 3.4.10. Форма оплати

Іншою функціональною частиною даного програмного продукту є робота зі складом. Даний блок, дозволяє користувачеві виконувати певні операції на складі магазину, зокрема: додавати новий товар, переглядати список наявного товару на складі, створювати звіт про те, який товар потрібно закупити

Рис. 3.4.11. Меню складу

Отже, що додати новий товар на склад працівникові потрібно натиснути на однойменну кнопку і заповнити форму.

Рис.3.4.12. Форма заповнення нового товару на склад.

Після заповнення даної форми користувач натискає на кнопку «Далі». Якщо користувач ввів всі дані правильно то товар добавиться в БД складу (див. рис. 3.4.13). В іншому випадку він отримає повідомлення про помилку (див. рис. 3.4.14.)

Рис. 3.4.13. Повідомлення про успішне додання товару

Рис. 3.4.14. Повідомлення про помилку

Іншою функцією, яку може виконувати користувач на складі є перегляд наявного товару. Здійснюється це шляхом натиснення на кнопку «Товари на складі». Після натиснення користувач бачить перелік товарі у табличному поданні

Рис. 3.4.15. Перелік товарів на складі

Ще однією із функцій, що можна виконувати на складі, це формування запиту на товари, які закінчуються і які потрібно закупити.

Рис.3.4.16. Товари, які потрібно закупити

Останнім блок програмного продукту є «Відділ кадрів». В цій частині користувач може здійснювати операції з робочим персоналом: приймати нових працівників на роботу, звільняти працівників, переглядати список персоналу, нараховувати заробітну плату.

Рис. 3.4.17. Меню відділу кадрів.

Прийняття нового працівника здійснюється шляхом заповнення форми, яка зображена на рис. 3.4.18.

Рис. 3.4.18. Форма прийняття працівника

Після заповнення форми користувач натискає далі і отримує повідомлення, що працівника прийнято на роботу. Якщо дані були введені неправильно то з’явиться повідомлення про помилку.

Рис. 3.4.19. повідомлення про помилку

Якщо ж користувач хоче звільнити працівника тоді він натискає на кнопку «Звільнити працівника». В новому вікні вводить табельний номер працівника і натискає на «Звільнити».

Рис. 3.4.20. Вікно звільнення працівника

В результаті користувач отримає повідомлення, що працівника звільнено.

Рис.3.4.21. Повідомлення про звільнення працівника.

Для перегляду списку персоналу магазина, необхідно натиснути на кнопку «Працівники». З’явиться вікно, де у вигляді таблиці показано перелік працівників і їхні персональні дані.

Рис. 3.4.22. Перелік працівників

Висновок


В ході виконання дипломної роботи було розроблено програмне забезпечення автоматизованого управління магазином. Дане ПЗ складається з трьох функціональних блоків:

.        Магазин

.        Склад

.        Відділ кадрів

Програмний продукт дозволяє виконувати різні дії, що значно пришвидшує роботи працівників і забезпечує більший дохід магазину. Зокрема, додаток дозволяє:

.        здійснювати автоматизоване формування чеків

.        нараховувати заробітну плату

.        стежити за товарами на складі

.        формувати запити на закупку товарів, які закінчуються

.        приймати на роботу нових працівників

.        звільняти працівників з роботи

Даний продукт відрізняється від наявних продуктів на ринку в першу чергу тим, що він є повністю безкоштовний. Також додаток не потребує високих ресурсів комп’ютерів та займає мало місця на диску.

Список використаної літератури


1.      <http://bukvar.su/marketing/137513-Organizaciya-raboty-magazina-Produkty.html>

.        <http://pidruchniki.com/11570718/bankivska_sprava/proektuvannya_baz_danih>

.        2013-Oct 17 Release Notes | Visual Studio <https://www.visualstudio.com/en-us/news/2013-oct-17-vs.aspx>. www.visualstudio.com. Процитовано 2016-03-27.

.        What's New in Visual Studio 2015 <https://msdn.microsoft.com/en-us/library/bb386063.aspx>. msdn.microsoft.com. Процитовано 2016-03-27.

.        Visual Studio 2015 Update 2 | Release Notes <https://www.visualstudio.com/en-us/news/vs2015-update2-vs.aspx>. www.visualstudio.com. Процитовано 2016-04-01.

Додатки


Лістинг головного ВікнаSystem;System.Collections.Generic;System.ComponentModel;System.Data;System.Drawing;System.Linq;System.Text;System.Threading.Tasks;System.Windows.Forms;Shop

{partial class MainMenu : Form

{MainMenu()

{();

}void button1_Click(object sender, EventArgs e)

{shop = new Shoping();.ShowDialog();

}void button2_Click(object sender, EventArgs e)

{_store = new Store();

_store.ShowDialog();

}void button3_Click(object sender, EventArgs e)

{_menuPersonal = new menuPersonal();

_menuPersonal.ShowDialog();

}

}

}

Лістинг форми здійснення продажів.System;System.Collections.Generic;System.ComponentModel;System.Data;System.Drawing;System.Linq;System.Text;System.Threading.Tasks;System.Windows.Forms;System.Data.SqlClient;Shop

{partial class Shoping : Form

{conn = new SqlConnection(@"Data Source=DESKTOP-E468J7Q;Initial Catalog=Shop;Integrated Security=True;Connect Timeout=15;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=False");Shoping()

{();.KeyPreview = true;

}string seller;string ID_seller;sum=0;void Shoping_Load(object sender, EventArgs e)

{auth = new Auth(this);.ShowDialog();.Text = DateTime.Now.ToString("dd.MM.yyyy HH:mm:ss");.Open();cmd = conn.CreateCommand();.CommandType = CommandType.Text;.CommandText = "select top 1 ID_Checks from Checks order by ID_Checks desc";.ExecuteNonQuery();dt = new DataTable();da = new SqlDataAdapter(cmd);.Fill(dt);.Text = (Convert.ToInt32(dt.Rows[0][0].ToString())+1).ToString();.Close();

}void button2_Click(object sender, EventArgs e)

{.Rows.Clear();

}void button1_Click(object sender, EventArgs e)

{

{_pmnt = new Payment(this);

_pmnt.ShowDialog();

}

{

}

}void textBox2_KeyUp(object sender, KeyEventArgs e)

{(e.KeyCode == Keys.Up || e.KeyCode == Keys.Down).Focus();(e.KeyCode == Keys.Enter)

{

{.Open();cmd = conn.CreateCommand();.CommandType = CommandType.Text;.CommandText = "select ID_Goods,Name,Price from Goods where ID_Goods='" + textBox1.Text+"'";.ExecuteNonQuery();dt = new DataTable();da = new SqlDataAdapter(cmd);.Fill(dt);.Rows.Add(dt.Rows[0][0], dt.Rows[0][1], textBox2.Text, dt.Rows[0][2]);+= Convert.ToDouble(dt.Rows[0][2]) * Convert.ToInt32(textBox2.Text);.Text = Convert.ToString(sum);.Close();.Text = "";.Text = "";.Focus();

}

{.Show("Даного товару не існує","Помилка");.Focus();.Close();

}

}

}void textBox1_KeyPress(object sender, KeyPressEventArgs e)

{((e.KeyChar <= 47 || e.KeyChar >= 58) && e.KeyChar != 8)

{.Handled = true;

}

}void textBox2_KeyPress(object sender, KeyPressEventArgs e)

{((e.KeyChar <= 47 || e.KeyChar >= 58) && e.KeyChar != 8)

{.Handled = true;

}

}void textBox1_KeyUp(object sender, KeyEventArgs e)

{(e.KeyCode == Keys.Up || e.KeyCode == Keys.Down).Focus();(e.KeyCode == Keys.Enter)

{(textBox1.Text != "")

{.Focus();.Text = "1";

}

}

}void Shoping_KeyDown(object sender, KeyEventArgs e)

{(e.KeyCode == Keys.F11)

{.PerformClick();// імітуємо натиснення кнопки button1

}(e.KeyCode == Keys.Delete)

{.PerformClick();// імітуємо натиснення кнопки button1

}

}

}

}

Лістинг форми авторизаціїSystem;System.Collections.Generic;System.ComponentModel;System.Data;System.Drawing;System.Linq;System.Text;System.Threading.Tasks;System.Windows.Forms;System.Data.SqlClient;Shop

{partial class Auth : Form

{();= _shp;

}void button1_Click(object sender, EventArgs e)

{

{.Open();cmd = conn.CreateCommand();.CommandType = CommandType.Text;.CommandText = "select ID_Emploee,PIB from Emploee where ID_Emploee=" + textBox1.Text;.ExecuteNonQuery();dt = new DataTable();da = new SqlDataAdapter(cmd);.Fill(dt);.seller = dt.Rows[0][1].ToString();.label1.Text += dt.Rows[0][1].ToString();.ID_seller= dt.Rows[0][0].ToString();.Close();.Close();

}(Exception)

{.Show("Проблема авторизації", "Помилка");.Close();

}

}void Auth_Load(object sender, EventArgs e)

{

}void button2_Click(object sender, EventArgs e)

{.Close();.Close();

}void textBox1_KeyUp(object sender, KeyEventArgs e)

{(e.KeyCode == Keys.Enter)

{.PerformClick();

}

}

}

}

Лістинг форми видачі чекуSystem;System.Collections.Generic;System.ComponentModel;System.Data;System.Drawing;System.Linq;System.Text;System.Threading.Tasks;System.Windows.Forms;System.Data.SqlClient;Shop

{partial class Payment : Form

{conn = new SqlConnection(@"Data Source=DESKTOP-E468J7Q;Initial Catalog=Shop;Integrated Security=True;Connect Timeout=15;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=False");Shoping shpng;Payment(Shoping _shp)

{();= _shp;

}void textBox1_KeyUp(object sender, KeyEventArgs e)

{costs=0.0;(e.KeyCode == Keys.Enter)

{

{.Open();cmd = conn.CreateCommand();.CommandType = CommandType.Text;.CommandText = "INSERT INTO Checks VALUES('"+shpng.checkLabel.Text+"'," +.ID_seller+ ","

+ shpng.moneyLabel.Text+ ",CONVERT(DATETIME,'" + shpng.dataLabel.Text+"',102))";.ExecuteNonQuery();(int i=0;i<shpng.dataGridView1.RowCount-1;i++)

{= Convert.ToInt32(shpng.dataGridView1.Rows[i].Cells[2].Value.ToString()) * Convert.ToDouble(shpng.dataGridView1.Rows[i].Cells[3].Value.ToString());.CommandText = "INSERT INTO ChkGoods VALUES('" + shpng.checkLabel.Text + "','" +.dataGridView1.Rows[i].Cells[0].Value + "',"+.dataGridView1.Rows[i].Cells[2].Value + "," +costs+ ")";.ExecuteNonQuery();.CommandText = "UPDATE Goods SET Count = Count - " +.dataGridView1.Rows[i].Cells[2].Value + "WHERE ID_Goods = '" +.dataGridView1.Rows[i].Cells[0].Value + "'";.ExecuteNonQuery();

}.Show("Чек успішно оплачено");.Close();.Close();

}(Exception)

{.Show("Неможливо оформити чек", "Помилка");.Close();.Close();

}

}

}void Payment_FormClosing(object sender, FormClosingEventArgs e)

{.dataLabel.Text = DateTime.Now.ToString("dd.MM.yyyy HH:mm:ss");.Open();cmd = conn.CreateCommand();.CommandType = CommandType.Text;.CommandText = "select top 1 ID_Checks from Checks order by ID_Checks desc";.ExecuteNonQuery();dt = new DataTable();da = new SqlDataAdapter(cmd);.Fill(dt);.checkLabel.Text = (Convert.ToInt32(dt.Rows[0][0].ToString()) + 1).ToString();.Close();.dataGridView1.Rows.Clear();.moneyLabel.Text = "0.00";

}void Payment_Load(object sender, EventArgs e)

{.Text = shpng.moneyLabel.Text;.Text = "0.00";

}void textBox1_TextChanged(object sender, EventArgs e)

{a = 0.0, b = 0.0, c = 0.0;(textBox1.Text != "")

{

{= Convert.ToDouble(label3.Text);= Convert.ToDouble(textBox1.Text);= b - a;(c > 0).Text = c.ToString();

}

{.Show("Неправильний ввід");

}

}

}

}

}

Лістинг форми меню складаSystem;System.Collections.Generic;System.ComponentModel;System.Data;System.Drawing;System.Linq;System.Text;System.Threading.Tasks;System.Windows.Forms;Shop

{partial class Store : Form

{Store()

{();

}void button1_Click(object sender, EventArgs e)

{_addGoods = new addGoods();

_addGoods.ShowDialog();

}void button2_Click(object sender, EventArgs e)

{_showGoods = new showGoods();

_showGoods.ShowDialog();

}void button3_Click(object sender, EventArgs e)

{_showOrder = new showOrder();

_showOrder.ShowDialog();

}

}

}

Лістинг форми додання товарів на складSystem;System.Collections.Generic;System.ComponentModel;System.Data;System.Drawing;System.Linq;System.Text;System.Threading.Tasks;System.Windows.Forms;System.Data.SqlClient;Shop

{partial class addGoods : Form

{addGoods()

{();

}void button1_Click(object sender, EventArgs e)

{conn = new SqlConnection(@"Data Source=DESKTOP-E468J7Q;Initial Catalog=Shop;Integrated Security=True;Connect Timeout=15;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=False");

{.Open();cmd = conn.CreateCommand();.CommandType = CommandType.Text;.CommandText = "INSERT INTO Goods VALUES('" + textBox1.Text + "','" +.Text + "',"

+ textBox4.Text + "," + textBox5.Text + ",'" + textBox2.Text + "')";.ExecuteNonQuery();.Close();.Show("Товар успішно додано");.Text = "";.Text = "";.Text = "";.Text = "";.Text = "";

}

{.Show("Неможливо додати товар","помилка");.Close();

}

}

}

}

Лістинг форми відображення товарів на складіSystem;System.Collections.Generic;System.ComponentModel;System.Data;System.Drawing;System.Linq;System.Text;System.Threading.Tasks;System.Windows.Forms;System.Data.SqlClient;Shop

{partial class showGoods : Form

{showGoods()

{();

}void showGoods_Load(object sender, EventArgs e)

{conn = new SqlConnection(@"Data Source=DESKTOP-E468J7Q;Initial Catalog=Shop;Integrated Security=True;Connect Timeout=15;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=False");

{.Open();cmd = conn.CreateCommand();.CommandType = CommandType.Text;.CommandText = "select * from Goods";.ExecuteNonQuery();dt = new DataTable();da = new SqlDataAdapter(cmd);.Fill(dt);.DataSource = dt;.Close();

}

{.Show("Неможливо відкрити склад", "Помилка");.Close();

}

}

}

}

Лістинг форми відображення товарів, які потрібно закупитиSystem;System.Collections.Generic;System.ComponentModel;System.Data;System.Drawing;System.Linq;System.Text;System.Threading.Tasks;System.Windows.Forms;System.Data.SqlClient;Shop

{partial class showOrder : Form

{showOrder()

{();

}void showOrder_Load(object sender, EventArgs e)

{conn = new SqlConnection(@"Data Source=DESKTOP-E468J7Q;Initial Catalog=Shop;Integrated Security=True;Connect Timeout=15;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=False");

{.Open();cmd = conn.CreateCommand();.CommandType = CommandType.Text;.CommandText = "select * from Goods where Count<2";.ExecuteNonQuery();dt = new DataTable();da = new SqlDataAdapter(cmd);.Fill(dt);.DataSource = dt;.Close();

}

{.Show("Неможливо відкрити склад", "Помилка");.Close();

}

}

}

}

Лістинг форми меню відділу кадрівSystem;System.Collections.Generic;System.ComponentModel;System.Data;System.Drawing;System.Linq;System.Text;System.Threading.Tasks;System.Windows.Forms;Shop

{partial class menuPersonal : Form

{menuPersonal()

{();

}void button1_Click(object sender, EventArgs e)

{_newEmploee = new newEmploee();

_newEmploee.ShowDialog();

}void button2_Click(object sender, EventArgs e)

{_dltEmploee = new deleteEmploee();

_dltEmploee.ShowDialog();

}void button4_Click(object sender, EventArgs e)

{_emploee = new Emploee();

_emploee.ShowDialog();

}void button3_Click(object sender, EventArgs e)

{_zp = new ZP();

_zp.ShowDialog();

}

}

}

Лістинг форми прийняття працівника на роботуSystem;System.Collections.Generic;System.ComponentModel;System.Data;System.Drawing;System.Linq;System.Text;System.Threading.Tasks;System.Windows.Forms;System.Data.SqlClient;Shop

{partial class newEmploee : Form

{newEmploee()

{();

}flag=0;void button1_Click(object sender, EventArgs e)

{conn = new SqlConnection(@"Data Source=DESKTOP-E468J7Q;Initial Catalog=Shop;Integrated Security=True;Connect Timeout=15;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=False");

{(radioButton1.Checked == true)

{= 1;

}= 0;.Open();cmd = conn.CreateCommand();.CommandType = CommandType.Text;.CommandText = "insert into Emploee values ("+textBox1.Text+",'"+textBox2.Text+

"','"+textBox3.Text+"',"+textBox5.Text+

","+flag+",'"+textBox4.Text+"')";.ExecuteNonQuery();.Show("Працівника прийнято на роботу");.Close();

}

{.Show("Неможливо найняти працівника. Перевірте коректність вводу всіх даних", "Помилка");.Close();

}

}

}

}

Лістинг форми звільнення працівникаSystem;System.Collections.Generic;System.ComponentModel;System.Data;System.Drawing;System.Linq;System.Text;System.Threading.Tasks;System.Windows.Forms;System.Data.SqlClient;Shop

{partial class deleteEmploee : Form

{deleteEmploee()

{();

}void button1_Click(object sender, EventArgs e)

{conn = new SqlConnection(@"Data Source=DESKTOP-E468J7Q;Initial Catalog=Shop;Integrated Security=True;Connect Timeout=15;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=False");

{.Open();cmd = conn.CreateCommand();.CommandType = CommandType.Text;.CommandText = "delete from Emploee where ID_Emploee = '"+textBox1.Text+"'";.ExecuteNonQuery();.Show("Працівника звільнено");.Close();

}

{.Show("Неможливо звільнити працівника. Можливо даного працівника не існує в базі", "Помилка");.Close();

}

}

}

}

Лістинг форми відображення переліку працівниківSystem;System.Collections.Generic;System.ComponentModel;System.Data;System.Drawing;System.Linq;System.Text;System.Threading.Tasks;System.Windows.Forms;System.Data.SqlClient;Shop

{partial class Emploee : Form

{Emploee()

{();

}void Emploee_Load(object sender, EventArgs e)

{conn = new SqlConnection(@"Data Source=DESKTOP-E468J7Q;Initial Catalog=Shop;Integrated Security=True;Connect Timeout=15;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=False");

{.Open();cmd = conn.CreateCommand();.CommandType = CommandType.Text;.CommandText = "select * from Emploee";.ExecuteNonQuery();dt = new DataTable();da = new SqlDataAdapter(cmd);.Fill(dt);.DataSource = dt;.Close();

}

{.Show("Неможливо відкрити базу працівників", "Помилка");.Close();

}

}

}

}

Лістинг форми нарахування зарплатніSystem;System.Collections.Generic;System.ComponentModel;System.Data;System.Drawing;System.Linq;System.Text;System.Threading.Tasks;System.Windows.Forms;System.Data.SqlClient;Shop

{partial class ZP : Form

{ZP()

{();

}day = "";date = "";sum;void ZP_Load(object sender, EventArgs e)

{conn = new SqlConnection(@"Data Source=DESKTOP-E468J7Q;Initial Catalog=Shop;Integrated Security=True;Connect Timeout=15;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=False");= DateTime.Now.ToString("dd");(day == "01")

{= DateTime.Now.ToString("dd.MM.yyyy HH:mm:ss");

{.Open();cmd = conn.CreateCommand();.CommandType = CommandType.Text;.CommandText = "Select ID_Emploee, Stavka, ZP from Emploee";.ExecuteNonQuery();dt = new DataTable();da = new SqlDataAdapter(cmd);.Fill(dt);.DataSource = dt;(int i = 0; i < dataGridView1.RowCount - 1; i++)

{.Show(dataGridView1.Rows[i].Cells[1].Value.ToString());(dataGridView1.Rows[i].Cells[1].Value.ToString() == "False")

{.CommandType = CommandType.Text;.CommandText = "INSERT INTO ZP VALUES(" + dataGridView1.Rows[i].Cells[0].Value.ToString() + ",CONVERT(DATETIME,'" ++ "',102)," + Convert.ToDouble(dataGridView1.Rows[i].Cells[2].Value.ToString()) + ")";.ExecuteNonQuery();

Источник: https://www.bibliofond.ru/detail.aspx?id=896976