Диплом: Автоматизация складских процессов предприятия ООО «АТОЛ»

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
90
14. Лодон Дж., Лодон К. Управление информационными системами.
7-е изд. / Пер. с англ. под ред. Д.Р. Трутнева. – СПб.: Питер, 2016. – 912 с.
15. Макарова Н. В. Информатика и информационно-
коммуникационные технологии. - СПб.: Питер, 2017. – 224 с.
16. Маклаков С.В. BPWin и ERWin. CASE-средства разработки
информационных систем. М.: ДИАЛОГ-МИФИ, 2017. – 459 с.
17. Рудакова Л.В. Базы данных. Разработка приложений. –
СПб.:БХВПетербург, 2018. – 541 с.
18. Смирнова Г.Н., Сорокин А.А., Тельнов Ю.Ф. Проектирование
экономических информационных систем. М.: Финансы и статистика, 2016. –
512.
19. Уткин В.Б., Балдин К.В. Информационные системы в экономике. –
Москва, 2015. – 470 с.
20. Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. Базы данных. - М.:
Коронавек, 2015. – 736 с.
21. Черемных С.В., Семенов И.О., Ручкин В.С. Моделирование и
анализ систем. IDEF-технологии — М.: Финансы и статистика, 2016. — 188 с.
22. Чудинов И.Л., Осипова В.В. Базы данных: Учебное пособие. –
Томск: Издво Томского политехнического университета, 2016. – 144 с.
23. Адресный склад. Организация хранения и основные преимущества
[Электронный ресурс]. URL: http://6pl.ru/Vlad_st/adres_st.htm
24. Адресное хранение на складе [Электронный ресурс]. URL:
http://class365.ru/skladskoi-uchet/adresnoe-hranenie
25. Адресной хранение в ячейках [Электронный ресурс]. URL:
http://v8.1c.ru/erp/warehouse/address-storage.htm
26. Должностная инструкция кладовщика [Электронный ресурс].
URL:
https://www.rabota.ru/guide/dolzhnostnye_instruktsii/dolzhnostnaja_instruktsij 91
a_kladovschika_dolzhnostnye_objazannosti_kladovschika_obrazets_dolzhnostn
oj_instruktsii_kladovschika.html
91
27. Microinvest Склад Pro [Электронный ресурс]. Режим доступа:
http://www.microinvest.ru
28. 1С: Торговля и Склад [Электронный ресурс]. Режим доступа:
http://www.1c.ru/
29. Мой склад [Электронный ресурс]. Режим доступа:
http://www.moysklad.ru
30. Embarcadero RAD Studio [Электронный ресурс]. URL:
http://www.embarcadero.ru
31. Lazarus [Электронный ресурс]. URL: http://www.lazarus.com
32. MS Access [Электронный ресурс]. URL: http://www.mysql.ru
33. MS SQL Server [Электронный ресурс]. URL:
http://www.mssqlserver.ru
34. Oracle [Электронный ресурс]. URL: http://www.oracle.ru
35. MySQL [Электронный ресурс]. URL: http://www.mysql.ru
92
ПРИЛОЖЕНИЯ
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Sklad
{
public partial class FormaSelectPoz : Form
{
public FormaSelectPoz()
{
InitializeComponent();
}
private void FormaSelectPoz_Load(object sender, EventArgs e)
{
// TODO: данная строка кода позволяет загрузить данные в таблицу
"skladBDDataSet.КатегорииТоваров". При необходимости она может быть пер
емещена
или удалена.
this.категорииТоваровTableAdapter.Fill(this.skladBDDataSet.КатегорииТо
варов);
// TODO: данная строка кода позволяет загрузить данные в таблицу
"skladBDDataSet.Склады". При необходимости она может быть перемещена ил
и
удалена.
this.складыTableAdapter.Fill(this.skladBDDataSet.Склады);
// TODO: данная строка кода позволяет загрузить данные в таблицу
"skladBDDataSet.СвободныеЯчейки". При необходимости она может быть пере
мещена
или удалена.
this.свободныеЯчейкиTableAdapter.Fill(this.skladBDDataSet.СвободныеЯче
йки);
// TODO: данная строка кода позволяет загрузить данные в таблицу
"skladBDDataSet1.ЗоныСклада". При необходимости она может быть перемеще
на или
удалена.
this.зоныСкладаTableAdapter.Fill(this.skladBDDataSet1.ЗоныСклада);
// TODO: данная строка кода позволяет загрузить данные в таблицу
93
"skladBDDataSet.Товары". При необходимости она может быть перемещена ил
и
удалена.
this.товарыTableAdapter.Fill(this.skladBDDataSet.Товары);
row = skladBDDataSet.Поступление.NewПоступлениеRow();
comboBox1.BindingContext = new BindingContext();
comboBox1.SelectedIndex = -1;
comboBox2.BindingContext = new BindingContext();
comboBox2.SelectedIndex = -1;
if (kodTov != null)
{
comboBox1.SelectedValue = kodTov;
Text = "Выбор ячейки)";
}
}
public SkladBDDataSet.ПоступлениеRow row;
private void button1_Click(object sender, EventArgs e)
{
if (comboBox1.SelectedValue == null)
{
MessageBox.Show("Выберите товар", "", MessageBoxButtons.OK,
MessageBoxIcon.Warning);
return;
}
if (numericUpDown3.Value == 0 || numericUpDown4.Value == 0)
{
MessageBox.Show("Введите размер упаковки", "", MessageBoxButtons.OK,
MessageBoxIcon.Warning);
return;
}
if (numericUpDown6.Value == 0)
{
MessageBox.Show("Укажите вес товара", "", MessageBoxButtons.OK,
MessageBoxIcon.Warning);
return;
}
if (dataGridView1.Rows.Count > 0 && dataGridView1.CurrentCell != null
)
{
if (dataGridView1.CurrentCell.Style.BackColor==Color.Red)
{
MessageBox.Show("Ячейка занята", "", MessageBoxButtons.OK,
MessageBoxIcon.Warning);
94
return;
}
row.КодТовара = Convert.ToInt32(comboBox1.SelectedValue);
row.Количество =Convert.ToInt32( numericUpDown1.Value);
row.КодЗоны= Convert.ToInt32(comboBox2.SelectedValue);
row.РазмерУпаковкиВ =(float) numericUpDown3.Value;
row.РазмерУпаковкиШ= (float)numericUpDown4.Value;
row.КодСклада= Convert.ToInt32(comboBox3.SelectedValue);
row.РазмерУпаковкиГ = (float)numericUpDown5.Value;
row.Вес = (float)numericUpDown7.Value;
row.Ячейка = dataGridView1.CurrentCell.Value.ToString();
this.DialogResult = DialogResult.OK;
}
else
{
MessageBox.Show("Выберите ячейку для размещения", "",
MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
}
private object kodTov;
public void SetTovar(object kodTov)
{
this.kodTov = kodTov;
comboBox1.SelectedValue = kodTov;
Text = "Выбор ячейки)";
}
decimal vol = 0;
private void Volume()
{
vol = (numericUpDown3.Value == 0 ? 1 : numericUpDown3.Value) *
(numericUpDown4.Value == 0 ? 1 : numericUpDown4.Value) * (numericUpDown
5.Value == 0
? 1 : numericUpDown5.Value) * numericUpDown1.Value;
numericUpDown7.Value = vol;
PodborZon();
}
public void PodborZon()
{
зоныСкладаTableAdapter.FillByWeightSize(this.skladBDDataSet1.ЗоныСклада
,(float?)nume
ricUpDown6.Value, (float?)numericUpDown3.Value, (float?)numericUpDown4.
Value,
95
(float?)numericUpDown5.Value, (float?)numericUpDown8.Value);
comboBox2.Refresh();
comboBox2.SelectedIndex = -1;
}
private void numericUpDown3_ValueChanged(object sender, EventArgs e)
{
Volume();
}
private void numericUpDown4_ValueChanged(object sender, EventArgs e)
{
Volume();
}
private void numericUpDown5_ValueChanged(object sender, EventArgs e)
{
Volume();
}
private void numericUpDown1_ValueChanged(object sender, EventArgs e)
{
Volume();
}
List<string> zan = new List<string>();
private void comboBox2_SelectedIndexChanged(object sender, EventArgs e
)
{
DataTable dt = new DataTable();
SkladBDDataSet.ЗоныСкладаRow z =
skladBDDataSet1.ЗоныСклада.FindByКодЗоны(Convert.ToInt32(
comboBox2.SelectedValue));
if (z == null) return;
label9.Text = "MAX: Вес=" + (z.IsМаксимальныйВесNull() ? "не ук.":
z.МаксимальныйВес.ToString()) + ", ВхШхГ=" + (z.IsМаксимальнаяВысотаNul
l() ? "не ук.":
z.МаксимальнаяВысота.ToString()) + "х" + (z.IsМаксимальнаяШиринаNull()
? "не ук." :
96
z.МаксимальнаяШирина.ToString()) + "х" + (z.IsМаксимальнаяГлубинаNull()
? "не ук." :
z.МаксимальнаяГлубина.ToString());
int stel = z.КоличествоСтеллажей;
int pol = z.КоличествоПолок;
int yach = z.КоличествоЯчеек;
//получаем список занятых ячеек в выбранной зоне
96
this.свободныеЯчейкиTableAdapter.FillByЗанятые(this.skladBDDataSet.Своб
одныеЯчейки)
;
zan = new List<string>();
foreach(SkladBDDataSet.СвободныеЯчейкиRow s in
this.skladBDDataSet.СвободныеЯчейки)
{
zan.Add(s.Ячейка);
}
for (int y = 1; y <= yach; y++)//полки
{
dt.Columns.Add();
}
for (int y = 1; y <= pol*stel; y++)//полки
{
dt.Rows.Add();
}
//строки со стеллажами: 1,1+pol*1
for (int s=0;s<=stel*pol-1;s=s+pol)//стеллажи
{
for (int p = 1; p <= pol; p++)//полки
{
for (int y = 1; y <= yach; y++)//ячейки
{
string name = z.КодЗоны + "-
" + (Math.Abs( s/(pol))+1).ToString().PadLeft(2,
'0') + p.ToString().PadLeft(2, '0') + y.ToString().PadLeft(2, '0');
dt.Rows[s+(p-1)][y-1]=name;
}
}
}
dataGridView1.DataSource = dt;
}
private void dataGridView1_CellPainting(object sender,
DataGridViewCellPaintingEventArgs e)
{
if (zan.Contains(e.Value))
{
e.CellStyle.BackColor = Color.Red;
}
else
{
e.CellStyle.BackColor = Color.LightGreen;
}
97
}
private void button2_Click(object sender, EventArgs e)
{
this.DialogResult = DialogResult.Cancel;
}
private void comboBox3_SelectedIndexChanged(object sender, EventArgs e
)
{
if (comboBox3.SelectedValue == null) зоныСкладаBindingSource.Filter =
"";
else
{
// зоныСкладаBindingSource.Filter = "КодСклада=1";// +
comboBox3.SelectedValue.ToString();
this.зоныСкладаTableAdapter.FillBySklad(this.skladBDDataSet1.ЗоныСклад
а,
Convert.ToInt32(comboBox3.SelectedValue));
}
}
private void numericUpDown6_ValueChanged(object sender, EventArgs e)
{
Volume();
}
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e
)
{
if (comboBox1.SelectedValue == null) return;
SkladBDDataSet.ТоварыRow t =
skladBDDataSet.Товары.FindByКодТовара(Convert.ToInt32(comboBox1.Selecte
dValue));
SkladBDDataSet.КатегорииТоваровRow kt =
skladBDDataSet.КатегорииТоваров.FindByКодКатегории(t.КодКатегории);
if (!kt.IsТемператураХраненияМинNull() && !kt.IsТемператураХраненияМак
сNull())
numericUpDown8.Value = (decimal)((kt.ТемператураХраненияМакс +
kt.ТемператураХраненияМин) / 2);
if (!kt.IsТемператураХраненияМинNull() && kt.IsТемператураХраненияМакс
Null())
numericUpDown8.Value = (decimal)kt.ТемператураХраненияМин;
if (kt.IsТемператураХраненияМинNull() && !kt.IsТемператураХраненияМакс
Null())
numericUpDown8.Value = (decimal)kt.ТемператураХраненияМакс;
}
}
98
}
using Microsoft.Office.Interop.Excel;
using Microsoft.Office.Interop.Word;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace GenDocs
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void шаблоныToolStripMenuItem_Click(object sender, EventArgs e
)
{
FormShablons f = new FormShablons();
f.ShowDialog();
this.меткиTableAdapter.Fill(this.bDDataSet1.Метки);
this.шаблонСтипомTableAdapter.Fill(this.bDDataSet.ШаблонСтипом);
this.шаблоныTableAdapter.Fill(this.bDDataSet.Шаблоны);
}
private void Form1_Load(object sender, EventArgs e)
{
// TODO: данная строка кода позволяет загрузить данные в таблицу
"bDDataSet1.Метки". При необходимости она может быть перемещена или уда
лена.
this.меткиTableAdapter.Fill(this.bDDataSet1.Метки);
// TODO: данная строка кода позволяет загрузить данные в таблицу
"bDDataSet.ШаблонСтипом". При необходимости она может быть перемещена и
ли удалена.
this.шаблонСтипомTableAdapter.Fill(this.bDDataSet.ШаблонСтипом);
// TODO: данная строка кода позволяет загрузить данные в таблицу
99
"bDDataSet.Шаблоны". При необходимости она может быть перемещена или уд
алена.
this.шаблоныTableAdapter.Fill(this.bDDataSet.Шаблоны);
//обнуляем выбор
comboBox1.BindingContext = new BindingContext();
comboBox1.SelectedIndex = -1;
}
//Здесь хранится список меток и контролов, из которых брать данные для
их
заполнения
Dictionary<BDDataSet.МеткиRow, Control> dict = new
Dictionary<BDDataSet.МеткиRow, Control>();
//Здесь хранится список меток, которые относятся к типу Текущая дата и
время
List<BDDataSet.МеткиRow> dictDatetime = new List<BDDataSet.МеткиRow>()
;
private void button1_Click(object sender, EventArgs e)
{
}
/// <summary>
/// Заполняем вордовский документ
/// </summary>
/// <param name="filename"></param>
/// <param name="sh"></param>
public Microsoft.Office.Interop.Word.Document FillWordDoc(string filen
ame,
BDDataSet.ШаблонСтипомRow sh)
{
Microsoft.Office.Interop.Word.Application ap = new
Microsoft.Office.Interop.Word.Application();
ap.Visible = false;
Document document = null;
try
{
//ap.Documents.Close(filename);
document = ap.Documents.Open(filename);
//получаем список меток документа
foreach (BDDataSet.МеткиRow m in dict.Keys)
{
document.Bookmarks[m.Наименование].Select();
Microsoft.Office.Interop.Word.Selection currentSelection = ap.Selectio
n;
if (dict[m].GetType() == typeof(System.Windows.Forms.TextBox))

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Agile-методология в управлении проектами на примере ООО «Ресурсный центр «Академия КлассИнфо»
Aвтoмaтизaция пpoцecca вeдeния инфopмaциoннoй бaзы o дoлжнocтяx и вaкaнcияx c укaзaниeм тpeбoвaний к уpoвню знaний и нaвыкoв кaндидaтoв для гpуппы кaдpoв вoйcкoвoй чacти 3474»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
Cовершенствование управления рентабельности предприятия (на примере гуипп «бендерская типография «полиграфист»)
Event - менеджмент: реализация проекта (на примере ООО "АГРОПАК")