From 815f40af700e60a49ceabeeee407e5467703f302 Mon Sep 17 00:00:00 2001 From: Zyzf Date: Tue, 25 Apr 2023 08:52:16 +0400 Subject: [PATCH] some add --- .../subd/subd/Controllers/CustomRequest.java | 20 +++++ .../subd/Repositories/OrderRepository.java | 11 +++ .../src/main/resources/application.properties | 10 +-- SUBD-front/index.html | 1 + SUBD-front/package-lock.json | 6 ++ SUBD-front/package.json | 1 + SUBD-front/src/components/DataTable.vue | 2 +- SUBD-front/src/components/Generator.vue | 2 - SUBD-front/src/components/MeasureTime.vue | 27 +++++++ SUBD-front/src/database.php | 79 +++++++++++++++++++ SUBD-front/src/main.js | 4 +- 11 files changed, 154 insertions(+), 9 deletions(-) create mode 100644 SUBD-back/src/main/java/com/subd/subd/Controllers/CustomRequest.java create mode 100644 SUBD-front/src/components/MeasureTime.vue create mode 100644 SUBD-front/src/database.php diff --git a/SUBD-back/src/main/java/com/subd/subd/Controllers/CustomRequest.java b/SUBD-back/src/main/java/com/subd/subd/Controllers/CustomRequest.java new file mode 100644 index 0000000..3430c28 --- /dev/null +++ b/SUBD-back/src/main/java/com/subd/subd/Controllers/CustomRequest.java @@ -0,0 +1,20 @@ +package com.subd.subd.Controllers; + +import com.subd.subd.Models.Order; +import com.subd.subd.Repositories.OrderRepository; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +@RestController +public class CustomRequest { + private final OrderRepository orderRepository; + public CustomRequest(OrderRepository orderRepository) { + this.orderRepository = orderRepository; + } + @GetMapping("/custom") + public List performCustomRequest() { + return orderRepository.customAction(); + } +} diff --git a/SUBD-back/src/main/java/com/subd/subd/Repositories/OrderRepository.java b/SUBD-back/src/main/java/com/subd/subd/Repositories/OrderRepository.java index 9ec601b..a190cf2 100644 --- a/SUBD-back/src/main/java/com/subd/subd/Repositories/OrderRepository.java +++ b/SUBD-back/src/main/java/com/subd/subd/Repositories/OrderRepository.java @@ -2,6 +2,17 @@ package com.subd.subd.Repositories; import com.subd.subd.Models.Order; import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.Query; + +import java.util.List; public interface OrderRepository extends JpaRepository { +// @Query(value = "SELECT \"ORDER\".ID, \"ORDER\".DATE, \"ORDER\".STATUS, \"CAR\".GOS_NUMBER, \"DRIVER\".NAME as driver_name, \"CLIENT\".NAME as client_name FROM \"order\" " + +// "JOIN \"CAR\" ON CAR.ID = \"ORDER\".CAR_ID " + +// "JOIN \"DRIVER\" ON \"CAR\".DRIVER_ID = \"DRIVER\".ID " + +// "JOIN \"CLIENT\" ON \"CLIENT\".ID = \"ORDER\".CLIENT_ID " + +// "WHERE \"ORDER\".DATE > '2000-01-01' AND \"ORDER\".VALUE > 10000 AND \"ORDER\".STATUS like 'delivered' " + +// "ORDER BY DATE", nativeQuery = true) + @Query(value = "SELECT * FROM \"order\"", nativeQuery = true) + List customAction(); } diff --git a/SUBD-back/src/main/resources/application.properties b/SUBD-back/src/main/resources/application.properties index 0641ff3..fefe8e2 100644 --- a/SUBD-back/src/main/resources/application.properties +++ b/SUBD-back/src/main/resources/application.properties @@ -1,7 +1,7 @@ -spring.jpa.hibernate.ddl-auto=none +spring.jpa.hibernate.ddl-auto=create spring.datasource.initialization-mode=always spring.datasource.platform=postgres -spring.datasource.url=jdbc:postgresql://109.197.199.134:5432/subd -spring.datasource.username=postgres -spring.datasource.password=250303Zyzf-d-grad -spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation=false \ No newline at end of file +spring.datasource.url=jdbc:postgresql://192.168.43.105:5432/subd +spring.datasource.username=yan +spring.datasource.password=250303zyzf +spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation=true \ No newline at end of file diff --git a/SUBD-front/index.html b/SUBD-front/index.html index 12c7912..227a75f 100644 --- a/SUBD-front/index.html +++ b/SUBD-front/index.html @@ -7,6 +7,7 @@ Vite App +
diff --git a/SUBD-front/package-lock.json b/SUBD-front/package-lock.json index c08dd81..a5a29a7 100644 --- a/SUBD-front/package-lock.json +++ b/SUBD-front/package-lock.json @@ -11,6 +11,7 @@ "axios": "^1.3.6", "bootstrap": "^5.2.3", "email-generator": "^1.0.1", + "jquery": "^3.6.4", "vue": "^3.2.47", "vue-router": "^4.1.6" }, @@ -1410,6 +1411,11 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/jquery": { + "version": "3.6.4", + "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.4.tgz", + "integrity": "sha512-v28EW9DWDFpzcD9O5iyJXg3R3+q+mET5JhnjJzQUZMHOv67bpSIHq81GEYpPNZHG+XXHsfSme3nxp/hndKEcsQ==" + }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", diff --git a/SUBD-front/package.json b/SUBD-front/package.json index bfec20f..b827f39 100644 --- a/SUBD-front/package.json +++ b/SUBD-front/package.json @@ -11,6 +11,7 @@ "axios": "^1.3.6", "bootstrap": "^5.2.3", "email-generator": "^1.0.1", + "jquery": "^3.6.4", "vue": "^3.2.47", "vue-router": "^4.1.6" }, diff --git a/SUBD-front/src/components/DataTable.vue b/SUBD-front/src/components/DataTable.vue index bd883ff..b883048 100644 --- a/SUBD-front/src/components/DataTable.vue +++ b/SUBD-front/src/components/DataTable.vue @@ -32,7 +32,7 @@ if (data == "inDelivery") { return "В пути"; } - if (data == "delvered") { + if (data == "delivered") { return "Доставлен"; } if (data == "issued") { diff --git a/SUBD-front/src/components/Generator.vue b/SUBD-front/src/components/Generator.vue index 66e6a17..42b207e 100644 --- a/SUBD-front/src/components/Generator.vue +++ b/SUBD-front/src/components/Generator.vue @@ -1,4 +1,3 @@ - + + \ No newline at end of file diff --git a/SUBD-front/src/database.php b/SUBD-front/src/database.php new file mode 100644 index 0000000..7576c51 --- /dev/null +++ b/SUBD-front/src/database.php @@ -0,0 +1,79 @@ +

+ '2000-01-01' AND "order".VALUE > 10000 AND "order".STATUS like 'delivered' ORDER BY date;"; + + $result = pg_query($con, $query); + + $response = array(); + + while ($row = pg_fetch_assoc($result) ){ + + $id = $row['id']; + $username = $row['username']; + $fullname = $row['fullname']; + $email = $row['email']; + + $response[] = array( + "id" => $id, + "username" => $username, + "fullname" => $fullname, + "email" => $email, + ); + } + + echo json_encode($response); + die; +} + +// Fetch record by id +if($request == 'fetchbyid'){ + + $userid = 0; + if(isset($_POST['userid']) && is_numeric($_POST['userid']) ){ + $userid = $_POST['userid']; + } + + $query = "SELECT * FROM users WHERE id=".$userid; + $result = pg_query($con, $query); + + $response = array(); + if (pg_numrows($result) > 0) { + + $row = pg_fetch_assoc($result); + + $id = $row['id']; + $username = $row['username']; + $fullname = $row['fullname']; + $email = $row['email']; + + $response[] = array( + "id" => $id, + "username" => $username, + "fullname" => $fullname, + "email" => $email, + ); + } + + echo json_encode($response); + die; +} +

\ No newline at end of file diff --git a/SUBD-front/src/main.js b/SUBD-front/src/main.js index 933063e..1564b1e 100644 --- a/SUBD-front/src/main.js +++ b/SUBD-front/src/main.js @@ -4,11 +4,13 @@ import './style.css' import App from './App.vue' import Orders from './components/Orders.vue' import Generator from './components/Generator.vue' +import MeasureTime from './components/MeasureTime.vue' const routes = [ { path: '/', redirect: '/orders' }, { path: '/orders', component: Orders, meta: { label: 'Заказы' }}, - { path: '/generator', component: Generator, meta: { label: 'Генератор' }} + { path: '/generator', component: Generator, meta: { label: 'Генератор' }}, + { path: '/measureTime', component: MeasureTime, meta: { label: 'Замер времени' }} ] const router = createRouter({