/
Bungus
/
ShoesIS
Обзор
Документация
Войти
/
Bungus
/
ShoesIS
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
main
exportToHTML/com/example/obuv/Controller/AddEditOrderController.java.html
378 строк
53 KB
Шоин Максим
Добавлен проект ИС магазина обуви
28 май 2026, 14:47
28 май 2026, 14:47
383b797
Код
Авторство
О чём код?
<html> <head> <title>AddEditOrderController.java</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <style type="text/css"> .s0 { color: #cf8e6d;} .s1 { color: #bcbec4;} .s2 { color: #bcbec4;} .s3 { color: #6aab73;} .s4 { color: #2aacb8;} </style> </head> <body bgcolor="#1e1f22"> <table CELLSPACING=0 CELLPADDING=5 COLS=1 WIDTH="100%" BGCOLOR="#606060" > <tr><td><center> <font face="Arial, Helvetica" color="#000000"> AddEditOrderController.java</font> </center></td></tr></table> <pre><span class="s0">package </span><span class="s1">com</span><span class="s2">.</span><span class="s1">example</span><span class="s2">.</span><span class="s1">obuv</span><span class="s2">.</span><span class="s1">Controller</span><span class="s2">;</span> <span class="s0">import </span><span class="s1">com</span><span class="s2">.</span><span class="s1">example</span><span class="s2">.</span><span class="s1">obuv</span><span class="s2">.</span><span class="s1">DBHandler</span><span class="s2">;</span> <span class="s0">import </span><span class="s1">com</span><span class="s2">.</span><span class="s1">example</span><span class="s2">.</span><span class="s1">obuv</span><span class="s2">.</span><span class="s1">Model</span><span class="s2">.</span><span class="s1">Order</span><span class="s2">;</span> <span class="s0">import </span><span class="s1">com</span><span class="s2">.</span><span class="s1">example</span><span class="s2">.</span><span class="s1">obuv</span><span class="s2">.</span><span class="s1">Service</span><span class="s2">;</span> <span class="s0">import </span><span class="s1">javafx</span><span class="s2">.</span><span class="s1">event</span><span class="s2">.</span><span class="s1">ActionEvent</span><span class="s2">;</span> <span class="s0">import </span><span class="s1">javafx</span><span class="s2">.</span><span class="s1">fxml</span><span class="s2">.</span><span class="s1">FXML</span><span class="s2">;</span> <span class="s0">import </span><span class="s1">javafx</span><span class="s2">.</span><span class="s1">scene</span><span class="s2">.</span><span class="s1">control</span><span class="s2">.*;</span> <span class="s0">import </span><span class="s1">javafx</span><span class="s2">.</span><span class="s1">scene</span><span class="s2">.</span><span class="s1">text</span><span class="s2">.</span><span class="s1">Text</span><span class="s2">;</span> <span class="s0">import </span><span class="s1">java</span><span class="s2">.</span><span class="s1">io</span><span class="s2">.</span><span class="s1">IOException</span><span class="s2">;</span> <span class="s0">import </span><span class="s1">java</span><span class="s2">.</span><span class="s1">sql</span><span class="s2">.</span><span class="s1">ResultSet</span><span class="s2">;</span> <span class="s0">import </span><span class="s1">java</span><span class="s2">.</span><span class="s1">sql</span><span class="s2">.</span><span class="s1">SQLException</span><span class="s2">;</span> <span class="s0">import </span><span class="s1">java</span><span class="s2">.</span><span class="s1">time</span><span class="s2">.</span><span class="s1">LocalDate</span><span class="s2">;</span> <span class="s0">import </span><span class="s1">java</span><span class="s2">.</span><span class="s1">util</span><span class="s2">.</span><span class="s1">HashMap</span><span class="s2">;</span> <span class="s0">import </span><span class="s1">java</span><span class="s2">.</span><span class="s1">util</span><span class="s2">.</span><span class="s1">Map</span><span class="s2">;</span> <span class="s0">public class </span><span class="s1">AddEditOrderController </span><span class="s2">{</span> <span class="s1">@FXML</span> <span class="s0">private </span><span class="s1">TextField orderNumberField</span><span class="s2">;</span> <span class="s1">@FXML</span> <span class="s0">private </span><span class="s1">ComboBox</span><span class="s2"><</span><span class="s1">String</span><span class="s2">> </span><span class="s1">clientComboBox</span><span class="s2">;</span> <span class="s1">@FXML</span> <span class="s0">private </span><span class="s1">ComboBox</span><span class="s2"><</span><span class="s1">String</span><span class="s2">> </span><span class="s1">pickUpPointComboBox</span><span class="s2">;</span> <span class="s1">@FXML</span> <span class="s0">private </span><span class="s1">ComboBox</span><span class="s2"><</span><span class="s1">String</span><span class="s2">> </span><span class="s1">productComboBox</span><span class="s2">;</span> <span class="s1">@FXML</span> <span class="s0">private </span><span class="s1">TextField quantityField</span><span class="s2">;</span> <span class="s1">@FXML</span> <span class="s0">private </span><span class="s1">DatePicker orderDatePicker</span><span class="s2">;</span> <span class="s1">@FXML</span> <span class="s0">private </span><span class="s1">DatePicker deliveryDatePicker</span><span class="s2">;</span> <span class="s1">@FXML</span> <span class="s0">private </span><span class="s1">TextField codeField</span><span class="s2">;</span> <span class="s1">@FXML</span> <span class="s0">private </span><span class="s1">ComboBox</span><span class="s2"><</span><span class="s1">String</span><span class="s2">> </span><span class="s1">statusComboBox</span><span class="s2">;</span> <span class="s1">@FXML</span> <span class="s0">private </span><span class="s1">Button btnBackOrders</span><span class="s2">;</span> <span class="s1">@FXML</span> <span class="s0">private </span><span class="s1">Text txtFIO</span><span class="s2">;</span> <span class="s1">@FXML</span> <span class="s0">private </span><span class="s1">Text txtRole</span><span class="s2">;</span> <span class="s0">private </span><span class="s1">DBHandler dbHandler </span><span class="s2">= </span><span class="s0">new </span><span class="s1">DBHandler</span><span class="s2">();</span> <span class="s0">private </span><span class="s1">Service service </span><span class="s2">= </span><span class="s0">new </span><span class="s1">Service</span><span class="s2">();</span> <span class="s0">private </span><span class="s1">Order order </span><span class="s2">= </span><span class="s1">Service</span><span class="s2">.</span><span class="s1">order</span><span class="s2">;</span> <span class="s0">private </span><span class="s1">Map</span><span class="s2"><</span><span class="s1">String</span><span class="s2">, </span><span class="s1">Integer</span><span class="s2">> </span><span class="s1">clientMap </span><span class="s2">= </span><span class="s0">new </span><span class="s1">HashMap</span><span class="s2"><>();</span> <span class="s0">private </span><span class="s1">Map</span><span class="s2"><</span><span class="s1">String</span><span class="s2">, </span><span class="s1">Integer</span><span class="s2">> </span><span class="s1">pickUpPointMap </span><span class="s2">= </span><span class="s0">new </span><span class="s1">HashMap</span><span class="s2"><>();</span> <span class="s0">private </span><span class="s1">Map</span><span class="s2"><</span><span class="s1">String</span><span class="s2">, </span><span class="s1">String</span><span class="s2">> </span><span class="s1">productMap </span><span class="s2">= </span><span class="s0">new </span><span class="s1">HashMap</span><span class="s2"><>();</span> <span class="s1">@FXML</span> <span class="s0">public void </span><span class="s1">initialize</span><span class="s2">() </span><span class="s0">throws </span><span class="s1">SQLException</span><span class="s2">, </span><span class="s1">ClassNotFoundException </span><span class="s2">{</span> <span class="s0">if </span><span class="s2">(</span><span class="s1">Service</span><span class="s2">.</span><span class="s1">user </span><span class="s2">!= </span><span class="s0">null</span><span class="s2">) {</span> <span class="s1">txtFIO</span><span class="s2">.</span><span class="s1">setText</span><span class="s2">(</span><span class="s1">Service</span><span class="s2">.</span><span class="s1">user</span><span class="s2">.</span><span class="s1">getFullName</span><span class="s2">());</span> <span class="s1">txtRole</span><span class="s2">.</span><span class="s1">setText</span><span class="s2">(</span><span class="s1">Service</span><span class="s2">.</span><span class="s1">user</span><span class="s2">.</span><span class="s1">getRole</span><span class="s2">());</span> <span class="s2">} </span><span class="s0">else </span><span class="s2">{</span> <span class="s1">txtFIO</span><span class="s2">.</span><span class="s1">setText</span><span class="s2">(</span><span class="s3">"Гость"</span><span class="s2">);</span> <span class="s1">txtRole</span><span class="s2">.</span><span class="s1">setText</span><span class="s2">(</span><span class="s3">"Гость"</span><span class="s2">);</span> <span class="s2">}</span> <span class="s1">statusComboBox</span><span class="s2">.</span><span class="s1">getItems</span><span class="s2">().</span><span class="s1">addAll</span><span class="s2">(</span><span class="s3">"Новый"</span><span class="s2">, </span><span class="s3">"Завершен"</span><span class="s2">, </span><span class="s3">"Отправлен"</span><span class="s2">, </span><span class="s3">"Доставлен"</span><span class="s2">, </span><span class="s3">"Отменён"</span><span class="s2">);</span> <span class="s1">statusComboBox</span><span class="s2">.</span><span class="s1">getSelectionModel</span><span class="s2">().</span><span class="s1">selectFirst</span><span class="s2">();</span> <span class="s1">loadClients</span><span class="s2">();</span> <span class="s1">loadPickUpPoints</span><span class="s2">();</span> <span class="s1">loadProducts</span><span class="s2">();</span> <span class="s0">if </span><span class="s2">(</span><span class="s1">order </span><span class="s2">!= </span><span class="s0">null</span><span class="s2">) {</span> <span class="s1">fillFormForEdit</span><span class="s2">();</span> <span class="s2">} </span><span class="s0">else </span><span class="s2">{</span> <span class="s1">orderDatePicker</span><span class="s2">.</span><span class="s1">setValue</span><span class="s2">(</span><span class="s1">LocalDate</span><span class="s2">.</span><span class="s1">now</span><span class="s2">());</span> <span class="s1">deliveryDatePicker</span><span class="s2">.</span><span class="s1">setValue</span><span class="s2">(</span><span class="s1">LocalDate</span><span class="s2">.</span><span class="s1">now</span><span class="s2">().</span><span class="s1">plusDays</span><span class="s2">(</span><span class="s4">3</span><span class="s2">));</span> <span class="s1">statusComboBox</span><span class="s2">.</span><span class="s1">setValue</span><span class="s2">(</span><span class="s3">"Новый"</span><span class="s2">);</span> <span class="s2">}</span> <span class="s2">}</span> <span class="s0">private void </span><span class="s1">loadClients</span><span class="s2">() </span><span class="s0">throws </span><span class="s1">SQLException</span><span class="s2">, </span><span class="s1">ClassNotFoundException </span><span class="s2">{</span> <span class="s1">dbHandler</span><span class="s2">.</span><span class="s1">DBConnection</span><span class="s2">();</span> <span class="s1">String query </span><span class="s2">= </span><span class="s3">"SELECT id, full_name FROM users ORDER BY id"</span><span class="s2">;</span> <span class="s1">ResultSet rs </span><span class="s2">= </span><span class="s1">dbHandler</span><span class="s2">.</span><span class="s1">executeQuery</span><span class="s2">(</span><span class="s1">query</span><span class="s2">);</span> <span class="s1">clientComboBox</span><span class="s2">.</span><span class="s1">getItems</span><span class="s2">().</span><span class="s1">clear</span><span class="s2">();</span> <span class="s1">clientMap</span><span class="s2">.</span><span class="s1">clear</span><span class="s2">();</span> <span class="s0">while </span><span class="s2">(</span><span class="s1">rs</span><span class="s2">.</span><span class="s1">next</span><span class="s2">()) {</span> <span class="s0">int </span><span class="s1">id </span><span class="s2">= </span><span class="s1">rs</span><span class="s2">.</span><span class="s1">getInt</span><span class="s2">(</span><span class="s3">"id"</span><span class="s2">);</span> <span class="s1">String fullName </span><span class="s2">= </span><span class="s1">rs</span><span class="s2">.</span><span class="s1">getString</span><span class="s2">(</span><span class="s3">"full_name"</span><span class="s2">);</span> <span class="s1">clientComboBox</span><span class="s2">.</span><span class="s1">getItems</span><span class="s2">().</span><span class="s1">add</span><span class="s2">(</span><span class="s1">fullName</span><span class="s2">);</span> <span class="s1">clientMap</span><span class="s2">.</span><span class="s1">put</span><span class="s2">(</span><span class="s1">fullName</span><span class="s2">, </span><span class="s1">id</span><span class="s2">);</span> <span class="s2">}</span> <span class="s1">rs</span><span class="s2">.</span><span class="s1">close</span><span class="s2">();</span> <span class="s0">if </span><span class="s2">(!</span><span class="s1">clientComboBox</span><span class="s2">.</span><span class="s1">getItems</span><span class="s2">().</span><span class="s1">isEmpty</span><span class="s2">()) {</span> <span class="s1">clientComboBox</span><span class="s2">.</span><span class="s1">getSelectionModel</span><span class="s2">().</span><span class="s1">selectFirst</span><span class="s2">();</span> <span class="s2">}</span> <span class="s2">}</span> <span class="s0">private void </span><span class="s1">loadPickUpPoints</span><span class="s2">() </span><span class="s0">throws </span><span class="s1">SQLException</span><span class="s2">, </span><span class="s1">ClassNotFoundException </span><span class="s2">{</span> <span class="s1">dbHandler</span><span class="s2">.</span><span class="s1">DBConnection</span><span class="s2">();</span> <span class="s1">String query </span><span class="s2">= </span><span class="s3">"SELECT </span><span class="s0">\"</span><span class="s3">index</span><span class="s0">\"</span><span class="s3">, city, street, building_number FROM pick_up_points ORDER BY </span><span class="s0">\"</span><span class="s3">index</span><span class="s0">\"</span><span class="s3">"</span><span class="s2">;</span> <span class="s1">ResultSet rs </span><span class="s2">= </span><span class="s1">dbHandler</span><span class="s2">.</span><span class="s1">executeQuery</span><span class="s2">(</span><span class="s1">query</span><span class="s2">);</span> <span class="s1">pickUpPointComboBox</span><span class="s2">.</span><span class="s1">getItems</span><span class="s2">().</span><span class="s1">clear</span><span class="s2">();</span> <span class="s1">pickUpPointMap</span><span class="s2">.</span><span class="s1">clear</span><span class="s2">();</span> <span class="s0">while </span><span class="s2">(</span><span class="s1">rs</span><span class="s2">.</span><span class="s1">next</span><span class="s2">()) {</span> <span class="s0">int </span><span class="s1">id </span><span class="s2">= </span><span class="s1">rs</span><span class="s2">.</span><span class="s1">getInt</span><span class="s2">(</span><span class="s3">"index"</span><span class="s2">);</span> <span class="s1">String address </span><span class="s2">= </span><span class="s1">id </span><span class="s2">+ </span><span class="s3">" | " </span><span class="s2">+ </span><span class="s1">rs</span><span class="s2">.</span><span class="s1">getString</span><span class="s2">(</span><span class="s3">"city"</span><span class="s2">) + </span><span class="s3">", " </span><span class="s2">+ </span><span class="s1">rs</span><span class="s2">.</span><span class="s1">getString</span><span class="s2">(</span><span class="s3">"street"</span><span class="s2">) + </span><span class="s3">", " </span><span class="s2">+ </span><span class="s1">rs</span><span class="s2">.</span><span class="s1">getInt</span><span class="s2">(</span><span class="s3">"building_number"</span><span class="s2">);</span> <span class="s1">pickUpPointComboBox</span><span class="s2">.</span><span class="s1">getItems</span><span class="s2">().</span><span class="s1">add</span><span class="s2">(</span><span class="s1">address</span><span class="s2">);</span> <span class="s1">pickUpPointMap</span><span class="s2">.</span><span class="s1">put</span><span class="s2">(</span><span class="s1">address</span><span class="s2">, </span><span class="s1">id</span><span class="s2">);</span> <span class="s2">}</span> <span class="s1">rs</span><span class="s2">.</span><span class="s1">close</span><span class="s2">();</span> <span class="s0">if </span><span class="s2">(!</span><span class="s1">pickUpPointComboBox</span><span class="s2">.</span><span class="s1">getItems</span><span class="s2">().</span><span class="s1">isEmpty</span><span class="s2">()) {</span> <span class="s1">pickUpPointComboBox</span><span class="s2">.</span><span class="s1">getSelectionModel</span><span class="s2">().</span><span class="s1">selectFirst</span><span class="s2">();</span> <span class="s2">}</span> <span class="s2">}</span> <span class="s0">private void </span><span class="s1">loadProducts</span><span class="s2">() </span><span class="s0">throws </span><span class="s1">SQLException</span><span class="s2">, </span><span class="s1">ClassNotFoundException </span><span class="s2">{</span> <span class="s1">dbHandler</span><span class="s2">.</span><span class="s1">DBConnection</span><span class="s2">();</span> <span class="s1">String query </span><span class="s2">= </span><span class="s3">"SELECT p.article, pn.name FROM products p " </span><span class="s2">+</span> <span class="s3">"INNER JOIN product_names pn ON p.product_name = pn.id ORDER BY p.article"</span><span class="s2">;</span> <span class="s1">ResultSet rs </span><span class="s2">= </span><span class="s1">dbHandler</span><span class="s2">.</span><span class="s1">executeQuery</span><span class="s2">(</span><span class="s1">query</span><span class="s2">);</span> <span class="s1">productComboBox</span><span class="s2">.</span><span class="s1">getItems</span><span class="s2">().</span><span class="s1">clear</span><span class="s2">();</span> <span class="s1">productMap</span><span class="s2">.</span><span class="s1">clear</span><span class="s2">();</span> <span class="s0">while </span><span class="s2">(</span><span class="s1">rs</span><span class="s2">.</span><span class="s1">next</span><span class="s2">()) {</span> <span class="s1">String article </span><span class="s2">= </span><span class="s1">rs</span><span class="s2">.</span><span class="s1">getString</span><span class="s2">(</span><span class="s3">"article"</span><span class="s2">);</span> <span class="s1">String display </span><span class="s2">= </span><span class="s1">article </span><span class="s2">+ </span><span class="s3">" | " </span><span class="s2">+ </span><span class="s1">rs</span><span class="s2">.</span><span class="s1">getString</span><span class="s2">(</span><span class="s3">"name"</span><span class="s2">);</span> <span class="s1">productComboBox</span><span class="s2">.</span><span class="s1">getItems</span><span class="s2">().</span><span class="s1">add</span><span class="s2">(</span><span class="s1">display</span><span class="s2">);</span> <span class="s1">productMap</span><span class="s2">.</span><span class="s1">put</span><span class="s2">(</span><span class="s1">display</span><span class="s2">, </span><span class="s1">article</span><span class="s2">);</span> <span class="s2">}</span> <span class="s1">rs</span><span class="s2">.</span><span class="s1">close</span><span class="s2">();</span> <span class="s0">if </span><span class="s2">(!</span><span class="s1">productComboBox</span><span class="s2">.</span><span class="s1">getItems</span><span class="s2">().</span><span class="s1">isEmpty</span><span class="s2">()) {</span> <span class="s1">productComboBox</span><span class="s2">.</span><span class="s1">getSelectionModel</span><span class="s2">().</span><span class="s1">selectFirst</span><span class="s2">();</span> <span class="s2">}</span> <span class="s2">}</span> <span class="s0">private void </span><span class="s1">fillFormForEdit</span><span class="s2">() {</span> <span class="s1">orderNumberField</span><span class="s2">.</span><span class="s1">setText</span><span class="s2">(</span><span class="s1">String</span><span class="s2">.</span><span class="s1">valueOf</span><span class="s2">(</span><span class="s1">order</span><span class="s2">.</span><span class="s1">getOrderNumber</span><span class="s2">()));</span> <span class="s1">orderNumberField</span><span class="s2">.</span><span class="s1">setDisable</span><span class="s2">(</span><span class="s0">true</span><span class="s2">);</span> <span class="s1">quantityField</span><span class="s2">.</span><span class="s1">setText</span><span class="s2">(</span><span class="s1">String</span><span class="s2">.</span><span class="s1">valueOf</span><span class="s2">(</span><span class="s1">order</span><span class="s2">.</span><span class="s1">getProductQuantity</span><span class="s2">()));</span> <span class="s1">codeField</span><span class="s2">.</span><span class="s1">setText</span><span class="s2">(</span><span class="s1">String</span><span class="s2">.</span><span class="s1">valueOf</span><span class="s2">(</span><span class="s1">order</span><span class="s2">.</span><span class="s1">getCodeToReceive</span><span class="s2">()));</span> <span class="s1">statusComboBox</span><span class="s2">.</span><span class="s1">setValue</span><span class="s2">(</span><span class="s1">order</span><span class="s2">.</span><span class="s1">getOrderStatus</span><span class="s2">());</span> <span class="s1">orderDatePicker</span><span class="s2">.</span><span class="s1">setValue</span><span class="s2">(</span><span class="s1">LocalDate</span><span class="s2">.</span><span class="s1">parse</span><span class="s2">(</span><span class="s1">order</span><span class="s2">.</span><span class="s1">getOrderDate</span><span class="s2">()));</span> <span class="s1">deliveryDatePicker</span><span class="s2">.</span><span class="s1">setValue</span><span class="s2">(</span><span class="s1">LocalDate</span><span class="s2">.</span><span class="s1">parse</span><span class="s2">(</span><span class="s1">order</span><span class="s2">.</span><span class="s1">getDeliveryDate</span><span class="s2">()));</span> <span class="s1">clientComboBox</span><span class="s2">.</span><span class="s1">setValue</span><span class="s2">(</span><span class="s1">order</span><span class="s2">.</span><span class="s1">getClientName</span><span class="s2">());</span> <span class="s0">for </span><span class="s2">(</span><span class="s1">String item </span><span class="s2">: </span><span class="s1">pickUpPointComboBox</span><span class="s2">.</span><span class="s1">getItems</span><span class="s2">()) {</span> <span class="s0">if </span><span class="s2">(</span><span class="s1">item</span><span class="s2">.</span><span class="s1">startsWith</span><span class="s2">(</span><span class="s1">order</span><span class="s2">.</span><span class="s1">getPickUpAddressId</span><span class="s2">() + </span><span class="s3">" |"</span><span class="s2">)) {</span> <span class="s1">pickUpPointComboBox</span><span class="s2">.</span><span class="s1">setValue</span><span class="s2">(</span><span class="s1">item</span><span class="s2">);</span> <span class="s0">break</span><span class="s2">;</span> <span class="s2">}</span> <span class="s2">}</span> <span class="s0">for </span><span class="s2">(</span><span class="s1">String item </span><span class="s2">: </span><span class="s1">productComboBox</span><span class="s2">.</span><span class="s1">getItems</span><span class="s2">()) {</span> <span class="s0">if </span><span class="s2">(</span><span class="s1">item</span><span class="s2">.</span><span class="s1">startsWith</span><span class="s2">(</span><span class="s1">order</span><span class="s2">.</span><span class="s1">getProductArticle</span><span class="s2">() + </span><span class="s3">" |"</span><span class="s2">)) {</span> <span class="s1">productComboBox</span><span class="s2">.</span><span class="s1">setValue</span><span class="s2">(</span><span class="s1">item</span><span class="s2">);</span> <span class="s0">break</span><span class="s2">;</span> <span class="s2">}</span> <span class="s2">}</span> <span class="s2">}</span> <span class="s1">@FXML</span> <span class="s0">public void </span><span class="s1">onSaveOrder</span><span class="s2">(</span><span class="s1">ActionEvent actionEvent</span><span class="s2">) </span><span class="s0">throws </span><span class="s1">SQLException</span><span class="s2">, </span><span class="s1">ClassNotFoundException</span><span class="s2">, </span><span class="s1">IOException </span><span class="s2">{</span> <span class="s1">String orderNumberText </span><span class="s2">= </span><span class="s1">orderNumberField</span><span class="s2">.</span><span class="s1">getText</span><span class="s2">().</span><span class="s1">trim</span><span class="s2">();</span> <span class="s1">String quantityText </span><span class="s2">= </span><span class="s1">quantityField</span><span class="s2">.</span><span class="s1">getText</span><span class="s2">().</span><span class="s1">trim</span><span class="s2">();</span> <span class="s1">String codeText </span><span class="s2">= </span><span class="s1">codeField</span><span class="s2">.</span><span class="s1">getText</span><span class="s2">().</span><span class="s1">trim</span><span class="s2">();</span> <span class="s0">if </span><span class="s2">(</span><span class="s1">orderNumberText</span><span class="s2">.</span><span class="s1">isEmpty</span><span class="s2">()) {</span> <span class="s1">service</span><span class="s2">.</span><span class="s1">showAlert</span><span class="s2">(</span><span class="s3">"Предупреждение"</span><span class="s2">, </span><span class="s3">"Введите номер заказа"</span><span class="s2">, </span><span class="s4">0</span><span class="s2">);</span> <span class="s0">return</span><span class="s2">;</span> <span class="s2">}</span> <span class="s0">if </span><span class="s2">(</span><span class="s1">quantityText</span><span class="s2">.</span><span class="s1">isEmpty</span><span class="s2">()) {</span> <span class="s1">service</span><span class="s2">.</span><span class="s1">showAlert</span><span class="s2">(</span><span class="s3">"Предупреждение"</span><span class="s2">, </span><span class="s3">"Введите количество товара"</span><span class="s2">, </span><span class="s4">0</span><span class="s2">);</span> <span class="s0">return</span><span class="s2">;</span> <span class="s2">}</span> <span class="s0">if </span><span class="s2">(</span><span class="s1">codeText</span><span class="s2">.</span><span class="s1">isEmpty</span><span class="s2">()) {</span> <span class="s1">service</span><span class="s2">.</span><span class="s1">showAlert</span><span class="s2">(</span><span class="s3">"Предупреждение"</span><span class="s2">, </span><span class="s3">"Введите код получения"</span><span class="s2">, </span><span class="s4">0</span><span class="s2">);</span> <span class="s0">return</span><span class="s2">;</span> <span class="s2">}</span> <span class="s0">if </span><span class="s2">(</span><span class="s1">clientComboBox</span><span class="s2">.</span><span class="s1">getValue</span><span class="s2">() == </span><span class="s0">null</span><span class="s2">) {</span> <span class="s1">service</span><span class="s2">.</span><span class="s1">showAlert</span><span class="s2">(</span><span class="s3">"Предупреждение"</span><span class="s2">, </span><span class="s3">"Выберите клиента"</span><span class="s2">, </span><span class="s4">0</span><span class="s2">);</span> <span class="s0">return</span><span class="s2">;</span> <span class="s2">}</span> <span class="s0">if </span><span class="s2">(</span><span class="s1">pickUpPointComboBox</span><span class="s2">.</span><span class="s1">getValue</span><span class="s2">() == </span><span class="s0">null</span><span class="s2">) {</span> <span class="s1">service</span><span class="s2">.</span><span class="s1">showAlert</span><span class="s2">(</span><span class="s3">"Предупреждение"</span><span class="s2">, </span><span class="s3">"Выберите пункт выдачи"</span><span class="s2">, </span><span class="s4">0</span><span class="s2">);</span> <span class="s0">return</span><span class="s2">;</span> <span class="s2">}</span> <span class="s0">if </span><span class="s2">(</span><span class="s1">productComboBox</span><span class="s2">.</span><span class="s1">getValue</span><span class="s2">() == </span><span class="s0">null</span><span class="s2">) {</span> <span class="s1">service</span><span class="s2">.</span><span class="s1">showAlert</span><span class="s2">(</span><span class="s3">"Предупреждение"</span><span class="s2">, </span><span class="s3">"Выберите товар"</span><span class="s2">, </span><span class="s4">0</span><span class="s2">);</span> <span class="s0">return</span><span class="s2">;</span> <span class="s2">}</span> <span class="s0">if </span><span class="s2">(</span><span class="s1">orderDatePicker</span><span class="s2">.</span><span class="s1">getValue</span><span class="s2">() == </span><span class="s0">null</span><span class="s2">) {</span> <span class="s1">service</span><span class="s2">.</span><span class="s1">showAlert</span><span class="s2">(</span><span class="s3">"Предупреждение"</span><span class="s2">, </span><span class="s3">"Выберите дату заказа"</span><span class="s2">, </span><span class="s4">0</span><span class="s2">);</span> <span class="s0">return</span><span class="s2">;</span> <span class="s2">}</span> <span class="s0">if </span><span class="s2">(</span><span class="s1">deliveryDatePicker</span><span class="s2">.</span><span class="s1">getValue</span><span class="s2">() == </span><span class="s0">null</span><span class="s2">) {</span> <span class="s1">service</span><span class="s2">.</span><span class="s1">showAlert</span><span class="s2">(</span><span class="s3">"Предупреждение"</span><span class="s2">, </span><span class="s3">"Выберите дату доставки"</span><span class="s2">, </span><span class="s4">0</span><span class="s2">);</span> <span class="s0">return</span><span class="s2">;</span> <span class="s2">}</span> <span class="s0">if </span><span class="s2">(</span><span class="s1">statusComboBox</span><span class="s2">.</span><span class="s1">getValue</span><span class="s2">() == </span><span class="s0">null</span><span class="s2">) {</span> <span class="s1">service</span><span class="s2">.</span><span class="s1">showAlert</span><span class="s2">(</span><span class="s3">"Предупреждение"</span><span class="s2">, </span><span class="s3">"Выберите статус заказа"</span><span class="s2">, </span><span class="s4">0</span><span class="s2">);</span> <span class="s0">return</span><span class="s2">;</span> <span class="s2">}</span> <span class="s0">try </span><span class="s2">{</span> <span class="s0">int </span><span class="s1">orderNumber </span><span class="s2">= </span><span class="s1">Integer</span><span class="s2">.</span><span class="s1">parseInt</span><span class="s2">(</span><span class="s1">orderNumberText</span><span class="s2">);</span> <span class="s0">int </span><span class="s1">quantity </span><span class="s2">= </span><span class="s1">Integer</span><span class="s2">.</span><span class="s1">parseInt</span><span class="s2">(</span><span class="s1">quantityText</span><span class="s2">);</span> <span class="s0">int </span><span class="s1">code </span><span class="s2">= </span><span class="s1">Integer</span><span class="s2">.</span><span class="s1">parseInt</span><span class="s2">(</span><span class="s1">codeText</span><span class="s2">);</span> <span class="s0">int </span><span class="s1">clientId </span><span class="s2">= </span><span class="s1">clientMap</span><span class="s2">.</span><span class="s1">get</span><span class="s2">(</span><span class="s1">clientComboBox</span><span class="s2">.</span><span class="s1">getValue</span><span class="s2">());</span> <span class="s0">int </span><span class="s1">pickUpId </span><span class="s2">= </span><span class="s1">pickUpPointMap</span><span class="s2">.</span><span class="s1">get</span><span class="s2">(</span><span class="s1">pickUpPointComboBox</span><span class="s2">.</span><span class="s1">getValue</span><span class="s2">());</span> <span class="s1">String productArticle </span><span class="s2">= </span><span class="s1">productMap</span><span class="s2">.</span><span class="s1">get</span><span class="s2">(</span><span class="s1">productComboBox</span><span class="s2">.</span><span class="s1">getValue</span><span class="s2">());</span> <span class="s1">String orderDate </span><span class="s2">= </span><span class="s1">orderDatePicker</span><span class="s2">.</span><span class="s1">getValue</span><span class="s2">().</span><span class="s1">toString</span><span class="s2">();</span> <span class="s1">String deliveryDate </span><span class="s2">= </span><span class="s1">deliveryDatePicker</span><span class="s2">.</span><span class="s1">getValue</span><span class="s2">().</span><span class="s1">toString</span><span class="s2">();</span> <span class="s1">String status </span><span class="s2">= </span><span class="s1">statusComboBox</span><span class="s2">.</span><span class="s1">getValue</span><span class="s2">();</span> <span class="s1">dbHandler</span><span class="s2">.</span><span class="s1">DBConnection</span><span class="s2">();</span> <span class="s0">boolean </span><span class="s1">isSuccess</span><span class="s2">;</span> <span class="s0">if </span><span class="s2">(</span><span class="s1">order </span><span class="s2">== </span><span class="s0">null</span><span class="s2">) {</span> <span class="s1">isSuccess </span><span class="s2">= </span><span class="s1">addOrder</span><span class="s2">(</span><span class="s1">orderNumber</span><span class="s2">, </span><span class="s1">productArticle</span><span class="s2">, </span><span class="s1">orderDate</span><span class="s2">, </span><span class="s1">deliveryDate</span><span class="s2">,</span> <span class="s1">pickUpId</span><span class="s2">, </span><span class="s1">clientId</span><span class="s2">, </span><span class="s1">code</span><span class="s2">, </span><span class="s1">status</span><span class="s2">, </span><span class="s1">quantity</span><span class="s2">);</span> <span class="s2">} </span><span class="s0">else </span><span class="s2">{</span> <span class="s1">isSuccess </span><span class="s2">= </span><span class="s1">updateOrder</span><span class="s2">(</span><span class="s1">orderNumber</span><span class="s2">, </span><span class="s1">productArticle</span><span class="s2">, </span><span class="s1">orderDate</span><span class="s2">, </span><span class="s1">deliveryDate</span><span class="s2">,</span> <span class="s1">pickUpId</span><span class="s2">, </span><span class="s1">clientId</span><span class="s2">, </span><span class="s1">code</span><span class="s2">, </span><span class="s1">status</span><span class="s2">, </span><span class="s1">quantity</span><span class="s2">);</span> <span class="s2">}</span> <span class="s0">if </span><span class="s2">(</span><span class="s1">isSuccess</span><span class="s2">) {</span> <span class="s1">Service</span><span class="s2">.</span><span class="s1">order </span><span class="s2">= </span><span class="s0">null</span><span class="s2">;</span> <span class="s1">service</span><span class="s2">.</span><span class="s1">loadScene</span><span class="s2">(</span><span class="s3">"OrdersList.fxml"</span><span class="s2">, </span><span class="s3">"Список заказов"</span><span class="s2">);</span> <span class="s1">btnBackOrders</span><span class="s2">.</span><span class="s1">getScene</span><span class="s2">().</span><span class="s1">getWindow</span><span class="s2">().</span><span class="s1">hide</span><span class="s2">();</span> <span class="s2">}</span> <span class="s2">} </span><span class="s0">catch </span><span class="s2">(</span><span class="s1">NumberFormatException e</span><span class="s2">) {</span> <span class="s1">service</span><span class="s2">.</span><span class="s1">showAlert</span><span class="s2">(</span><span class="s3">"Ошибка"</span><span class="s2">, </span><span class="s3">"Номер заказа, количество и код получения должны быть числами"</span><span class="s2">, </span><span class="s4">1</span><span class="s2">);</span> <span class="s2">}</span> <span class="s2">}</span> <span class="s0">private boolean </span><span class="s1">addOrder</span><span class="s2">(</span><span class="s0">int </span><span class="s1">orderNumber</span><span class="s2">, </span><span class="s1">String productArticle</span><span class="s2">, </span><span class="s1">String orderDate</span><span class="s2">,</span> <span class="s1">String deliveryDate</span><span class="s2">, </span><span class="s0">int </span><span class="s1">pickUpId</span><span class="s2">, </span><span class="s0">int </span><span class="s1">clientId</span><span class="s2">,</span> <span class="s0">int </span><span class="s1">code</span><span class="s2">, </span><span class="s1">String status</span><span class="s2">, </span><span class="s0">int </span><span class="s1">quantity</span><span class="s2">) </span><span class="s0">throws </span><span class="s1">SQLException </span><span class="s2">{</span> <span class="s1">String checkQuery </span><span class="s2">= </span><span class="s1">String</span><span class="s2">.</span><span class="s1">format</span><span class="s2">(</span><span class="s3">"SELECT COUNT(*) FROM orders WHERE order_number = %d"</span><span class="s2">, </span><span class="s1">orderNumber</span><span class="s2">);</span> <span class="s1">ResultSet rs </span><span class="s2">= </span><span class="s1">dbHandler</span><span class="s2">.</span><span class="s1">executeQuery</span><span class="s2">(</span><span class="s1">checkQuery</span><span class="s2">);</span> <span class="s1">rs</span><span class="s2">.</span><span class="s1">next</span><span class="s2">();</span> <span class="s0">int </span><span class="s1">count </span><span class="s2">= </span><span class="s1">rs</span><span class="s2">.</span><span class="s1">getInt</span><span class="s2">(</span><span class="s4">1</span><span class="s2">);</span> <span class="s1">rs</span><span class="s2">.</span><span class="s1">close</span><span class="s2">();</span> <span class="s0">if </span><span class="s2">(</span><span class="s1">count </span><span class="s2">> </span><span class="s4">0</span><span class="s2">) {</span> <span class="s1">service</span><span class="s2">.</span><span class="s1">showAlert</span><span class="s2">(</span><span class="s3">"Ошибка"</span><span class="s2">, </span><span class="s3">"Заказ с номером " </span><span class="s2">+ </span><span class="s1">orderNumber </span><span class="s2">+ </span><span class="s3">" уже существует"</span><span class="s2">, </span><span class="s4">1</span><span class="s2">);</span> <span class="s0">return false</span><span class="s2">;</span> <span class="s2">}</span> <span class="s1">String insertOrder </span><span class="s2">= </span><span class="s1">String</span><span class="s2">.</span><span class="s1">format</span><span class="s2">(</span> <span class="s3">"INSERT INTO orders (order_number, order_article, order_date, delivery_date, " </span><span class="s2">+</span> <span class="s3">"pick_up_address, client, code_to_receive, order_status) " </span><span class="s2">+</span> <span class="s3">"VALUES (%d, '%s', '%s', '%s', %d, %d, %d, '%s')"</span><span class="s2">,</span> <span class="s1">orderNumber</span><span class="s2">, </span><span class="s1">productArticle</span><span class="s2">, </span><span class="s1">orderDate</span><span class="s2">, </span><span class="s1">deliveryDate</span><span class="s2">, </span><span class="s1">pickUpId</span><span class="s2">, </span><span class="s1">clientId</span><span class="s2">, </span><span class="s1">code</span><span class="s2">, </span><span class="s1">status</span> <span class="s2">);</span> <span class="s0">int </span><span class="s1">countOrder </span><span class="s2">= </span><span class="s1">dbHandler</span><span class="s2">.</span><span class="s1">executeUpdate</span><span class="s2">(</span><span class="s1">insertOrder</span><span class="s2">);</span> <span class="s1">String getIdQuery </span><span class="s2">= </span><span class="s3">"SELECT COALESCE(MAX(id), 0) + 1 FROM products_orders"</span><span class="s2">;</span> <span class="s1">ResultSet rsId </span><span class="s2">= </span><span class="s1">dbHandler</span><span class="s2">.</span><span class="s1">executeQuery</span><span class="s2">(</span><span class="s1">getIdQuery</span><span class="s2">);</span> <span class="s1">rsId</span><span class="s2">.</span><span class="s1">next</span><span class="s2">();</span> <span class="s0">int </span><span class="s1">nextId </span><span class="s2">= </span><span class="s1">rsId</span><span class="s2">.</span><span class="s1">getInt</span><span class="s2">(</span><span class="s4">1</span><span class="s2">);</span> <span class="s1">rsId</span><span class="s2">.</span><span class="s1">close</span><span class="s2">();</span> <span class="s1">String insertProductOrder </span><span class="s2">= </span><span class="s1">String</span><span class="s2">.</span><span class="s1">format</span><span class="s2">(</span> <span class="s3">"INSERT INTO products_orders (id, product, product_quantity, </span><span class="s0">\"</span><span class="s3">order</span><span class="s0">\"</span><span class="s3">) " </span><span class="s2">+</span> <span class="s3">"VALUES (%d, '%s', %d, %d)"</span><span class="s2">,</span> <span class="s1">nextId</span><span class="s2">, </span><span class="s1">productArticle</span><span class="s2">, </span><span class="s1">quantity</span><span class="s2">, </span><span class="s1">orderNumber</span> <span class="s2">);</span> <span class="s0">int </span><span class="s1">countProductOrder </span><span class="s2">= </span><span class="s1">dbHandler</span><span class="s2">.</span><span class="s1">executeUpdate</span><span class="s2">(</span><span class="s1">insertProductOrder</span><span class="s2">);</span> <span class="s0">if </span><span class="s2">(</span><span class="s1">countOrder </span><span class="s2">> </span><span class="s4">0 </span><span class="s2">&& </span><span class="s1">countProductOrder </span><span class="s2">> </span><span class="s4">0</span><span class="s2">) {</span> <span class="s1">service</span><span class="s2">.</span><span class="s1">showAlert</span><span class="s2">(</span><span class="s3">"Информация"</span><span class="s2">, </span><span class="s3">"Заказ добавлен"</span><span class="s2">, </span><span class="s4">2</span><span class="s2">);</span> <span class="s0">return true</span><span class="s2">;</span> <span class="s2">} </span><span class="s0">else </span><span class="s2">{</span> <span class="s1">service</span><span class="s2">.</span><span class="s1">showAlert</span><span class="s2">(</span><span class="s3">"Ошибка"</span><span class="s2">, </span><span class="s3">"Заказ не добавлен"</span><span class="s2">, </span><span class="s4">1</span><span class="s2">);</span> <span class="s0">return false</span><span class="s2">;</span> <span class="s2">}</span> <span class="s2">}</span> <span class="s0">private boolean </span><span class="s1">updateOrder</span><span class="s2">(</span><span class="s0">int </span><span class="s1">orderNumber</span><span class="s2">, </span><span class="s1">String productArticle</span><span class="s2">, </span><span class="s1">String orderDate</span><span class="s2">,</span> <span class="s1">String deliveryDate</span><span class="s2">, </span><span class="s0">int </span><span class="s1">pickUpId</span><span class="s2">, </span><span class="s0">int </span><span class="s1">clientId</span><span class="s2">,</span> <span class="s0">int </span><span class="s1">code</span><span class="s2">, </span><span class="s1">String status</span><span class="s2">, </span><span class="s0">int </span><span class="s1">quantity</span><span class="s2">) </span><span class="s0">throws </span><span class="s1">SQLException </span><span class="s2">{</span> <span class="s1">String updateOrder </span><span class="s2">= </span><span class="s1">String</span><span class="s2">.</span><span class="s1">format</span><span class="s2">(</span> <span class="s3">"UPDATE orders SET order_article='%s', order_date='%s', delivery_date='%s', " </span><span class="s2">+</span> <span class="s3">"pick_up_address=%d, client=%d, code_to_receive=%d, order_status='%s' " </span><span class="s2">+</span> <span class="s3">"WHERE order_number=%d"</span><span class="s2">,</span> <span class="s1">productArticle</span><span class="s2">, </span><span class="s1">orderDate</span><span class="s2">, </span><span class="s1">deliveryDate</span><span class="s2">, </span><span class="s1">pickUpId</span><span class="s2">, </span><span class="s1">clientId</span><span class="s2">, </span><span class="s1">code</span><span class="s2">, </span><span class="s1">status</span><span class="s2">, </span><span class="s1">orderNumber</span> <span class="s2">);</span> <span class="s0">int </span><span class="s1">countOrder </span><span class="s2">= </span><span class="s1">dbHandler</span><span class="s2">.</span><span class="s1">executeUpdate</span><span class="s2">(</span><span class="s1">updateOrder</span><span class="s2">);</span> <span class="s1">String deleteOldProducts </span><span class="s2">= </span><span class="s1">String</span><span class="s2">.</span><span class="s1">format</span><span class="s2">(</span><span class="s3">"DELETE FROM products_orders WHERE </span><span class="s0">\"</span><span class="s3">order</span><span class="s0">\"</span><span class="s3">=%d"</span><span class="s2">, </span><span class="s1">orderNumber</span><span class="s2">);</span> <span class="s1">dbHandler</span><span class="s2">.</span><span class="s1">executeUpdate</span><span class="s2">(</span><span class="s1">deleteOldProducts</span><span class="s2">);</span> <span class="s1">String getIdQuery </span><span class="s2">= </span><span class="s3">"SELECT COALESCE(MAX(id), 0) + 1 FROM products_orders"</span><span class="s2">;</span> <span class="s1">ResultSet rsId </span><span class="s2">= </span><span class="s1">dbHandler</span><span class="s2">.</span><span class="s1">executeQuery</span><span class="s2">(</span><span class="s1">getIdQuery</span><span class="s2">);</span> <span class="s1">rsId</span><span class="s2">.</span><span class="s1">next</span><span class="s2">();</span> <span class="s0">int </span><span class="s1">nextId </span><span class="s2">= </span><span class="s1">rsId</span><span class="s2">.</span><span class="s1">getInt</span><span class="s2">(</span><span class="s4">1</span><span class="s2">);</span> <span class="s1">rsId</span><span class="s2">.</span><span class="s1">close</span><span class="s2">();</span> <span class="s1">String insertNewProduct </span><span class="s2">= </span><span class="s1">String</span><span class="s2">.</span><span class="s1">format</span><span class="s2">(</span> <span class="s3">"INSERT INTO products_orders (id, product, product_quantity, </span><span class="s0">\"</span><span class="s3">order</span><span class="s0">\"</span><span class="s3">) " </span><span class="s2">+</span> <span class="s3">"VALUES (%d, '%s', %d, %d)"</span><span class="s2">,</span> <span class="s1">nextId</span><span class="s2">, </span><span class="s1">productArticle</span><span class="s2">, </span><span class="s1">quantity</span><span class="s2">, </span><span class="s1">orderNumber</span> <span class="s2">);</span> <span class="s0">int </span><span class="s1">countProductOrder </span><span class="s2">= </span><span class="s1">dbHandler</span><span class="s2">.</span><span class="s1">executeUpdate</span><span class="s2">(</span><span class="s1">insertNewProduct</span><span class="s2">);</span> <span class="s0">if </span><span class="s2">(</span><span class="s1">countOrder </span><span class="s2">> </span><span class="s4">0 </span><span class="s2">&& </span><span class="s1">countProductOrder </span><span class="s2">> </span><span class="s4">0</span><span class="s2">) {</span> <span class="s1">service</span><span class="s2">.</span><span class="s1">showAlert</span><span class="s2">(</span><span class="s3">"Информация"</span><span class="s2">, </span><span class="s3">"Заказ изменён"</span><span class="s2">, </span><span class="s4">2</span><span class="s2">);</span> <span class="s0">return true</span><span class="s2">;</span> <span class="s2">} </span><span class="s0">else </span><span class="s2">{</span> <span class="s1">service</span><span class="s2">.</span><span class="s1">showAlert</span><span class="s2">(</span><span class="s3">"Ошибка"</span><span class="s2">, </span><span class="s3">"Заказ не изменён"</span><span class="s2">, </span><span class="s4">1</span><span class="s2">);</span> <span class="s0">return false</span><span class="s2">;</span> <span class="s2">}</span> <span class="s2">}</span> <span class="s1">@FXML</span> <span class="s0">public void </span><span class="s1">btnBackOrdersClick</span><span class="s2">(</span><span class="s1">ActionEvent actionEvent</span><span class="s2">) </span><span class="s0">throws </span><span class="s1">IOException </span><span class="s2">{</span> <span class="s1">Service</span><span class="s2">.</span><span class="s1">order </span><span class="s2">= </span><span class="s0">null</span><span class="s2">;</span> <span class="s1">service</span><span class="s2">.</span><span class="s1">loadScene</span><span class="s2">(</span><span class="s3">"OrdersList.fxml"</span><span class="s2">, </span><span class="s3">"Список заказов"</span><span class="s2">);</span> <span class="s1">btnBackOrders</span><span class="s2">.</span><span class="s1">getScene</span><span class="s2">().</span><span class="s1">getWindow</span><span class="s2">().</span><span class="s1">hide</span><span class="s2">();</span> <span class="s2">}</span> <span class="s2">}</span></pre> </body> </html>