/
Bungus
/
ShoesIS
Обзор
Документация
Войти
/
Bungus
/
ShoesIS
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
main
exportToHTML/com/example/obuv/Controller/AddEditController.java.html
307 строк
42 KB
Шоин Максим
Добавлен проект ИС магазина обуви
28 май 2026, 14:47
28 май 2026, 14:47
383b797
Код
Авторство
О чём код?
<html> <head> <title>AddEditController.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"> AddEditController.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">Service</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">Product</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">image</span><span class="s2">.</span><span class="s1">Image</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">image</span><span class="s2">.</span><span class="s1">ImageView</span><span class="s2">;</span> <span class="s0">import </span><span class="s1">javafx</span><span class="s2">.</span><span class="s1">stage</span><span class="s2">.</span><span class="s1">FileChooser</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">File</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">public class </span><span class="s1">AddEditController </span><span class="s2">{</span> <span class="s1">@FXML</span> <span class="s0">private </span><span class="s1">TextField articulValue</span><span class="s2">;</span> <span class="s1">@FXML</span> <span class="s0">private </span><span class="s1">Button btnBackProductForm</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">categoryComboBox</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">nameComboBox</span><span class="s2">;</span> <span class="s1">@FXML</span> <span class="s0">private </span><span class="s1">TextArea descriptionArea</span><span class="s2">;</span> <span class="s1">@FXML</span> <span class="s0">private </span><span class="s1">TextField discountField</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">manufacturerComboBox</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">providersComboBox</span><span class="s2">;</span> <span class="s1">@FXML</span> <span class="s0">private </span><span class="s1">TextField priceField</span><span class="s2">;</span> <span class="s1">@FXML</span> <span class="s0">private </span><span class="s1">ImageView productImageView</span><span class="s2">;</span> <span class="s1">@FXML</span> <span class="s0">private </span><span class="s1">TextField stockField</span><span class="s2">;</span> <span class="s1">@FXML</span> <span class="s0">private </span><span class="s1">TextField unitField</span><span class="s2">;</span> <span class="s1">@FXML</span> <span class="s0">private </span><span class="s1">Button saveProduct</span><span class="s2">;</span> <span class="s0">private </span><span class="s1">String imagePath</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">Product product </span><span class="s2">= </span><span class="s1">Service</span><span class="s2">.</span><span class="s1">product</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="s1">loadNameProduct</span><span class="s2">();</span> <span class="s1">loadCategoryProduct</span><span class="s2">();</span> <span class="s1">loadManufactures</span><span class="s2">();</span> <span class="s1">loadProviders</span><span class="s2">();</span> <span class="s0">if </span><span class="s2">(</span><span class="s1">product </span><span class="s2">!= </span><span class="s0">null</span><span class="s2">) {</span> <span class="s1">editProvider</span><span class="s2">();</span> <span class="s2">} </span><span class="s0">else </span><span class="s2">{</span> <span class="s1">setPlaceholderImage</span><span class="s2">();</span> <span class="s2">}</span> <span class="s2">}</span> <span class="s0">private void </span><span class="s1">loadNameProduct</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 name FROM product_names 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">nameComboBox</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="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">nameComboBox</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">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="s2">}</span> <span class="s0">if </span><span class="s2">(!</span><span class="s1">nameComboBox</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">nameComboBox</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="s0">if </span><span class="s2">(</span><span class="s1">rs </span><span class="s2">!= </span><span class="s0">null</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="s2">}</span> <span class="s0">private void </span><span class="s1">loadCategoryProduct</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 category FROM product_categories 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">categoryComboBox</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="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">categoryComboBox</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">rs</span><span class="s2">.</span><span class="s1">getString</span><span class="s2">(</span><span class="s3">"category"</span><span class="s2">));</span> <span class="s2">}</span> <span class="s0">if </span><span class="s2">(!</span><span class="s1">categoryComboBox</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">categoryComboBox</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="s0">if </span><span class="s2">(</span><span class="s1">rs </span><span class="s2">!= </span><span class="s0">null</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="s2">}</span> <span class="s0">private void </span><span class="s1">loadManufactures</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 manufacturer FROM manufacturers 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">manufacturerComboBox</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="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">manufacturerComboBox</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">rs</span><span class="s2">.</span><span class="s1">getString</span><span class="s2">(</span><span class="s3">"manufacturer"</span><span class="s2">));</span> <span class="s2">}</span> <span class="s0">if </span><span class="s2">(!</span><span class="s1">manufacturerComboBox</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">manufacturerComboBox</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="s0">if </span><span class="s2">(</span><span class="s1">rs </span><span class="s2">!= </span><span class="s0">null</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="s2">}</span> <span class="s0">private void </span><span class="s1">loadProviders</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 provider_name FROM providers 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">providersComboBox</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="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">providersComboBox</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">rs</span><span class="s2">.</span><span class="s1">getString</span><span class="s2">(</span><span class="s3">"provider_name"</span><span class="s2">));</span> <span class="s2">}</span> <span class="s0">if </span><span class="s2">(!</span><span class="s1">providersComboBox</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">providersComboBox</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="s0">if </span><span class="s2">(</span><span class="s1">rs </span><span class="s2">!= </span><span class="s0">null</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="s2">}</span> <span class="s0">private void </span><span class="s1">editProvider</span><span class="s2">() {</span> <span class="s1">articulValue</span><span class="s2">.</span><span class="s1">setText</span><span class="s2">(</span><span class="s1">product</span><span class="s2">.</span><span class="s1">getArticle</span><span class="s2">());</span> <span class="s1">articulValue</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">nameComboBox</span><span class="s2">.</span><span class="s1">setValue</span><span class="s2">(</span><span class="s1">product</span><span class="s2">.</span><span class="s1">getName</span><span class="s2">());</span> <span class="s1">descriptionArea</span><span class="s2">.</span><span class="s1">setText</span><span class="s2">(</span><span class="s1">product</span><span class="s2">.</span><span class="s1">getDescription</span><span class="s2">());</span> <span class="s1">priceField</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">product</span><span class="s2">.</span><span class="s1">getPrice</span><span class="s2">()));</span> <span class="s1">unitField</span><span class="s2">.</span><span class="s1">setText</span><span class="s2">(</span><span class="s1">product</span><span class="s2">.</span><span class="s1">getUnitProduct</span><span class="s2">());</span> <span class="s1">stockField</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">product</span><span class="s2">.</span><span class="s1">getQuantity</span><span class="s2">()));</span> <span class="s1">discountField</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">product</span><span class="s2">.</span><span class="s1">getDiscount</span><span class="s2">()));</span> <span class="s0">int </span><span class="s1">catIndex </span><span class="s2">= </span><span class="s1">product</span><span class="s2">.</span><span class="s1">getCategory</span><span class="s2">() - </span><span class="s4">1</span><span class="s2">;</span> <span class="s0">if </span><span class="s2">(</span><span class="s1">catIndex </span><span class="s2">>= </span><span class="s4">0 </span><span class="s2">&& </span><span class="s1">catIndex </span><span class="s2">< </span><span class="s1">categoryComboBox</span><span class="s2">.</span><span class="s1">getItems</span><span class="s2">().</span><span class="s1">size</span><span class="s2">()) {</span> <span class="s1">categoryComboBox</span><span class="s2">.</span><span class="s1">getSelectionModel</span><span class="s2">().</span><span class="s1">select</span><span class="s2">(</span><span class="s1">catIndex</span><span class="s2">);</span> <span class="s2">}</span> <span class="s0">int </span><span class="s1">manIndex </span><span class="s2">= </span><span class="s1">product</span><span class="s2">.</span><span class="s1">getManufacturer</span><span class="s2">() - </span><span class="s4">1</span><span class="s2">;</span> <span class="s0">if </span><span class="s2">(</span><span class="s1">manIndex </span><span class="s2">>= </span><span class="s4">0 </span><span class="s2">&& </span><span class="s1">manIndex </span><span class="s2">< </span><span class="s1">manufacturerComboBox</span><span class="s2">.</span><span class="s1">getItems</span><span class="s2">().</span><span class="s1">size</span><span class="s2">()) {</span> <span class="s1">manufacturerComboBox</span><span class="s2">.</span><span class="s1">getSelectionModel</span><span class="s2">().</span><span class="s1">select</span><span class="s2">(</span><span class="s1">manIndex</span><span class="s2">);</span> <span class="s2">}</span> <span class="s1">providersComboBox</span><span class="s2">.</span><span class="s1">setValue</span><span class="s2">(</span><span class="s1">product</span><span class="s2">.</span><span class="s1">getProvider</span><span class="s2">());</span> <span class="s1">imagePath </span><span class="s2">= </span><span class="s1">product</span><span class="s2">.</span><span class="s1">getImageName</span><span class="s2">();</span> <span class="s0">if </span><span class="s2">(</span><span class="s1">imagePath </span><span class="s2">!= </span><span class="s0">null </span><span class="s2">&& !</span><span class="s1">imagePath</span><span class="s2">.</span><span class="s1">isEmpty</span><span class="s2">()) {</span> <span class="s0">try </span><span class="s2">{</span> <span class="s1">File file </span><span class="s2">= </span><span class="s0">new </span><span class="s1">File</span><span class="s2">(</span><span class="s1">imagePath</span><span class="s2">);</span> <span class="s0">if </span><span class="s2">(</span><span class="s1">file</span><span class="s2">.</span><span class="s1">exists</span><span class="s2">()) {</span> <span class="s1">Image image </span><span class="s2">= </span><span class="s0">new </span><span class="s1">Image</span><span class="s2">(</span><span class="s1">file</span><span class="s2">.</span><span class="s1">toURI</span><span class="s2">().</span><span class="s1">toString</span><span class="s2">());</span> <span class="s1">productImageView</span><span class="s2">.</span><span class="s1">setImage</span><span class="s2">(</span><span class="s1">image</span><span class="s2">);</span> <span class="s2">} </span><span class="s0">else </span><span class="s2">{</span> <span class="s1">setPlaceholderImage</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">Exception e</span><span class="s2">) {</span> <span class="s1">setPlaceholderImage</span><span class="s2">();</span> <span class="s2">}</span> <span class="s2">} </span><span class="s0">else </span><span class="s2">{</span> <span class="s1">setPlaceholderImage</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">onChooseImage</span><span class="s2">(</span><span class="s1">ActionEvent actionEvent</span><span class="s2">) {</span> <span class="s1">FileChooser fileChooser </span><span class="s2">= </span><span class="s0">new </span><span class="s1">FileChooser</span><span class="s2">();</span> <span class="s1">fileChooser</span><span class="s2">.</span><span class="s1">setTitle</span><span class="s2">(</span><span class="s3">"Выберите изображение товара"</span><span class="s2">);</span> <span class="s1">fileChooser</span><span class="s2">.</span><span class="s1">getExtensionFilters</span><span class="s2">().</span><span class="s1">addAll</span><span class="s2">(</span> <span class="s0">new </span><span class="s1">FileChooser</span><span class="s2">.</span><span class="s1">ExtensionFilter</span><span class="s2">(</span><span class="s3">"Изображения"</span><span class="s2">, </span><span class="s3">"*.png"</span><span class="s2">, </span><span class="s3">"*.jpg"</span><span class="s2">, </span><span class="s3">"*.jpeg"</span><span class="s2">, </span><span class="s3">"*.gif"</span><span class="s2">)</span> <span class="s2">);</span> <span class="s1">File file </span><span class="s2">= </span><span class="s1">fileChooser</span><span class="s2">.</span><span class="s1">showOpenDialog</span><span class="s2">(</span><span class="s1">btnBackProductForm</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="s0">if </span><span class="s2">(</span><span class="s1">file </span><span class="s2">!= </span><span class="s0">null</span><span class="s2">) {</span> <span class="s1">imagePath </span><span class="s2">= </span><span class="s1">file</span><span class="s2">.</span><span class="s1">getAbsolutePath</span><span class="s2">();</span> <span class="s1">Image image </span><span class="s2">= </span><span class="s0">new </span><span class="s1">Image</span><span class="s2">(</span><span class="s1">file</span><span class="s2">.</span><span class="s1">toURI</span><span class="s2">().</span><span class="s1">toString</span><span class="s2">());</span> <span class="s1">productImageView</span><span class="s2">.</span><span class="s1">setImage</span><span class="s2">(</span><span class="s1">image</span><span class="s2">);</span> <span class="s1">System</span><span class="s2">.</span><span class="s1">out</span><span class="s2">.</span><span class="s1">println</span><span class="s2">(</span><span class="s3">"Выбрано изображение: " </span><span class="s2">+ </span><span class="s1">imagePath</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">onResetImage</span><span class="s2">(</span><span class="s1">ActionEvent actionEvent</span><span class="s2">) {</span> <span class="s1">imagePath </span><span class="s2">= </span><span class="s0">null</span><span class="s2">;</span> <span class="s1">setPlaceholderImage</span><span class="s2">();</span> <span class="s2">}</span> <span class="s0">private void </span><span class="s1">setPlaceholderImage</span><span class="s2">() {</span> <span class="s1">String path </span><span class="s2">= </span><span class="s3">"src/main/resources/com/example/obuv/image/picture.png"</span><span class="s2">;</span> <span class="s1">File file </span><span class="s2">= </span><span class="s0">new </span><span class="s1">File</span><span class="s2">(</span><span class="s1">path</span><span class="s2">);</span> <span class="s0">if </span><span class="s2">(</span><span class="s1">file</span><span class="s2">.</span><span class="s1">exists</span><span class="s2">()) {</span> <span class="s1">imagePath </span><span class="s2">= </span><span class="s1">file</span><span class="s2">.</span><span class="s1">getAbsolutePath</span><span class="s2">();</span> <span class="s1">Image image </span><span class="s2">= </span><span class="s0">new </span><span class="s1">Image</span><span class="s2">(</span><span class="s1">file</span><span class="s2">.</span><span class="s1">toURI</span><span class="s2">().</span><span class="s1">toString</span><span class="s2">());</span> <span class="s1">productImageView</span><span class="s2">.</span><span class="s1">setImage</span><span class="s2">(</span><span class="s1">image</span><span class="s2">);</span> <span class="s2">} </span><span class="s0">else </span><span class="s2">{</span> <span class="s1">productImageView</span><span class="s2">.</span><span class="s1">setImage</span><span class="s2">(</span><span class="s0">null</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">onSave</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 articul </span><span class="s2">= </span><span class="s1">articulValue</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">articul</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">1</span><span class="s2">);</span> <span class="s0">return</span><span class="s2">;</span> <span class="s2">}</span> <span class="s1">String price </span><span class="s2">= </span><span class="s1">priceField</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">price</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">1</span><span class="s2">);</span> <span class="s0">return</span><span class="s2">;</span> <span class="s2">}</span> <span class="s1">String stock </span><span class="s2">= </span><span class="s1">stockField</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">stock</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">1</span><span class="s2">);</span> <span class="s0">return</span><span class="s2">;</span> <span class="s2">}</span> <span class="s0">int </span><span class="s1">idNameProduct </span><span class="s2">= </span><span class="s1">nameComboBox</span><span class="s2">.</span><span class="s1">getSelectionModel</span><span class="s2">().</span><span class="s1">getSelectedIndex</span><span class="s2">() + </span><span class="s4">1</span><span class="s2">;</span> <span class="s0">int </span><span class="s1">idCategoryProduct </span><span class="s2">= </span><span class="s1">categoryComboBox</span><span class="s2">.</span><span class="s1">getSelectionModel</span><span class="s2">().</span><span class="s1">getSelectedIndex</span><span class="s2">() + </span><span class="s4">1</span><span class="s2">;</span> <span class="s0">int </span><span class="s1">idManufacturer </span><span class="s2">= </span><span class="s1">manufacturerComboBox</span><span class="s2">.</span><span class="s1">getSelectionModel</span><span class="s2">().</span><span class="s1">getSelectedIndex</span><span class="s2">() + </span><span class="s4">1</span><span class="s2">;</span> <span class="s0">int </span><span class="s1">idProvider </span><span class="s2">= </span><span class="s1">providersComboBox</span><span class="s2">.</span><span class="s1">getSelectionModel</span><span class="s2">().</span><span class="s1">getSelectedIndex</span><span class="s2">() + </span><span class="s4">1</span><span class="s2">;</span> <span class="s1">String description </span><span class="s2">= </span><span class="s1">descriptionArea</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 unit </span><span class="s2">= </span><span class="s1">unitField</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 quantity </span><span class="s2">= </span><span class="s1">stock</span><span class="s2">;</span> <span class="s1">String discount </span><span class="s2">= </span><span class="s1">discountField</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">description</span><span class="s2">.</span><span class="s1">isEmpty</span><span class="s2">()) </span><span class="s1">description </span><span class="s2">= </span><span class="s3">"Описание отсутствует"</span><span class="s2">;</span> <span class="s0">if </span><span class="s2">(</span><span class="s1">unit</span><span class="s2">.</span><span class="s1">isEmpty</span><span class="s2">()) </span><span class="s1">unit </span><span class="s2">= </span><span class="s3">"шт."</span><span class="s2">;</span> <span class="s0">if </span><span class="s2">(</span><span class="s1">discount</span><span class="s2">.</span><span class="s1">isEmpty</span><span class="s2">()) </span><span class="s1">discount </span><span class="s2">= </span><span class="s3">"0"</span><span class="s2">;</span> <span class="s0">if </span><span class="s2">(</span><span class="s1">imagePath </span><span class="s2">== </span><span class="s0">null</span><span class="s2">) </span><span class="s1">setPlaceholderImage</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">if </span><span class="s2">(</span><span class="s1">product </span><span class="s2">== </span><span class="s0">null</span><span class="s2">) {</span> <span class="s1">String query </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 (article, product_name, unit, price, provider, " </span><span class="s2">+</span> <span class="s3">"manufacturer, product_category, current_discount, quantity, " </span><span class="s2">+</span> <span class="s3">"product_description, image) " </span><span class="s2">+</span> <span class="s3">"VALUES ('%s', %s, '%s', %s, %s, %s, %s, %s, %s, '%s', '%s')"</span><span class="s2">,</span> <span class="s1">articul</span><span class="s2">, </span><span class="s1">idNameProduct</span><span class="s2">, </span><span class="s1">unit</span><span class="s2">, </span><span class="s1">price</span><span class="s2">, </span><span class="s1">idProvider</span><span class="s2">,</span> <span class="s1">idManufacturer</span><span class="s2">, </span><span class="s1">idCategoryProduct</span><span class="s2">, </span><span class="s1">discount</span><span class="s2">, </span><span class="s1">quantity</span><span class="s2">,</span> <span class="s1">description</span><span class="s2">.</span><span class="s1">replace</span><span class="s2">(</span><span class="s3">"'"</span><span class="s2">, </span><span class="s3">"''"</span><span class="s2">), </span><span class="s1">imagePath</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">query</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="s2">} </span><span class="s0">else </span><span class="s2">{</span> <span class="s1">String query </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 products SET product_name=%s, unit='%s', price=%s, provider=%s, " </span><span class="s2">+</span> <span class="s3">"manufacturer=%s, product_category=%s, current_discount=%s, quantity=%s, " </span><span class="s2">+</span> <span class="s3">"product_description='%s', image='%s' WHERE article='%s'"</span><span class="s2">,</span> <span class="s1">idNameProduct</span><span class="s2">, </span><span class="s1">unit</span><span class="s2">, </span><span class="s1">price</span><span class="s2">, </span><span class="s1">idProvider</span><span class="s2">, </span><span class="s1">idManufacturer</span><span class="s2">,</span> <span class="s1">idCategoryProduct</span><span class="s2">, </span><span class="s1">discount</span><span class="s2">, </span><span class="s1">quantity</span><span class="s2">,</span> <span class="s1">description</span><span class="s2">.</span><span class="s1">replace</span><span class="s2">(</span><span class="s3">"'"</span><span class="s2">, </span><span class="s3">"''"</span><span class="s2">), </span><span class="s1">imagePath</span><span class="s2">, </span><span class="s1">product</span><span class="s2">.</span><span class="s1">getArticle</span><span class="s2">()</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">query</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="s2">}</span> <span class="s1">Service</span><span class="s2">.</span><span class="s1">product </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">"ProductsList.fxml"</span><span class="s2">, </span><span class="s3">"Список товаров"</span><span class="s2">);</span> <span class="s1">btnBackProductForm</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="s1">@FXML</span> <span class="s0">public void </span><span class="s1">clickBtnBackProductForm</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">product </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">"ProductsList.fxml"</span><span class="s2">, </span><span class="s3">"Список товаров"</span><span class="s2">);</span> <span class="s1">btnBackProductForm</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>