остались фильтры для заказа
This commit is contained in:
parent
4bfe12eb0f
commit
b12fee9a0c
@ -16,14 +16,13 @@ export default {
|
|||||||
dataUrl: 'order',
|
dataUrl: 'order',
|
||||||
transformer: (data) => new Order(data),
|
transformer: (data) => new Order(data),
|
||||||
headers: [
|
headers: [
|
||||||
{ name: 'number', label: 'Номер кабинета' }
|
{ name: 'date', label: 'Дата' }
|
||||||
],
|
],
|
||||||
headersComps: [
|
headersFavs: [
|
||||||
{ name: 'modelName', label: 'Модель' },
|
{ name: 'favorName', label: 'Название услуги' },
|
||||||
{ name: 'serialNum', label: 'Серийный номер' },
|
{ name: 'price', label: 'Цена' },
|
||||||
{ name: 'componentName', label: 'Модель монитора' }
|
|
||||||
],
|
],
|
||||||
selectedItemsComps: [],
|
selectedItemsFavs: [],
|
||||||
dataFilterUrl: 'order/filter?',
|
dataFilterUrl: 'order/filter?',
|
||||||
favorUrl: 'favor/',
|
favorUrl: 'favor/',
|
||||||
favors: [],
|
favors: [],
|
||||||
@ -36,7 +35,7 @@ export default {
|
|||||||
.then(data => {
|
.then(data => {
|
||||||
this.favors = data;
|
this.favors = data;
|
||||||
});
|
});
|
||||||
DataService.readAll(this.componentUrl, (data) => new component(data))
|
DataService.readAll(this.componentUrl, (data) => new Component(data))
|
||||||
.then(data => {
|
.then(data => {
|
||||||
this.components = data;
|
this.components = data;
|
||||||
});
|
});
|
||||||
@ -59,7 +58,7 @@ export default {
|
|||||||
},
|
},
|
||||||
addFavorInOrder(orderId) {
|
addFavorInOrder(orderId) {
|
||||||
let favorId = document.getElementById('favors').value;
|
let favorId = document.getElementById('favors').value;
|
||||||
let response = axios.post(`http://localhost:8080/api/order/${orderId}/favor?favorId=${favorId}`);
|
let response = axios.post(`http://localhost:8080/order/${orderId}/favor?favId=${favorId}`);
|
||||||
console.log(response);
|
console.log(response);
|
||||||
},
|
},
|
||||||
itemsComps(favorIds) {
|
itemsComps(favorIds) {
|
||||||
@ -70,11 +69,6 @@ export default {
|
|||||||
this.favors.forEach(favor => {
|
this.favors.forEach(favor => {
|
||||||
for (let i = 0; i < favorIds.length; i++) {
|
for (let i = 0; i < favorIds.length; i++) {
|
||||||
if (favor.id === favorIds[i]) {
|
if (favor.id === favorIds[i]) {
|
||||||
for (let j = 0; j < this.components.length; j++) {
|
|
||||||
if (favor.componentId === this.components[j].id) {
|
|
||||||
favor._component = this.components[j];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
result.push(favor);
|
result.push(favor);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -110,22 +104,18 @@ export default {
|
|||||||
:confirm="this.modal.confirm"
|
:confirm="this.modal.confirm"
|
||||||
v-model:visible="this.modalShow"
|
v-model:visible="this.modalShow"
|
||||||
@done="saveItem">
|
@done="saveItem">
|
||||||
<div class="mb-3">
|
|
||||||
<label for="number" class="form-label">Номер кабинета</label>
|
|
||||||
<input type="text" class="form-control" id="number" required v-model="data.number">
|
|
||||||
</div>
|
|
||||||
<DataTable
|
<DataTable
|
||||||
:headers="this.headersComps"
|
:headers="this.headersFavs"
|
||||||
:items="itemsComps(data.favorIds)"
|
:items="itemsComps(data.favorIds)"
|
||||||
:selectedItems="this.selectedItemsComps">
|
:selectedItems="this.selectedItemsFavs">
|
||||||
</DataTable>
|
</DataTable>
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label for="favors" class="form-label">Добавить компьютер</label>
|
<label for="favors" class="form-label">Добавить услуги</label>
|
||||||
<select class="form-select" id="favors" required>
|
<select class="form-select" id="favors" required>
|
||||||
<option disabled value="">Выберите компьютер</option>
|
<option disabled value="">Выберите услуги</option>
|
||||||
<option v-for="favor in this.favors"
|
<option v-for="favor in this.favors"
|
||||||
:value="favor.id">
|
:value="favor.id">
|
||||||
{{ favor.modelName }}
|
{{ favor.favorName }}
|
||||||
</option>
|
</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,9 +1,11 @@
|
|||||||
package ru.ulstu.is.sbapp.repair.controller;
|
package ru.ulstu.is.sbapp.repair.controller;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import ru.ulstu.is.sbapp.repair.dtos.FavorDTO;
|
||||||
import ru.ulstu.is.sbapp.repair.dtos.OrderDTO;
|
import ru.ulstu.is.sbapp.repair.dtos.OrderDTO;
|
||||||
import ru.ulstu.is.sbapp.repair.service.OrderService;
|
import ru.ulstu.is.sbapp.repair.service.OrderService;
|
||||||
|
|
||||||
|
import javax.validation.Valid;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@RestController
|
@RestController
|
||||||
@ -14,16 +16,16 @@ public class OrderController {
|
|||||||
this.orderService = productService;
|
this.orderService = productService;
|
||||||
}
|
}
|
||||||
@PostMapping
|
@PostMapping
|
||||||
public OrderDTO addOrder(@RequestParam("date") String date) {
|
public OrderDTO addOrder(@RequestBody @Valid OrderDTO orderDTO) {
|
||||||
return new OrderDTO(orderService.addOrder(date));
|
return new OrderDTO(orderService.addOrder());
|
||||||
}
|
}
|
||||||
|
|
||||||
@PutMapping("/{id}")
|
@PutMapping("/{id}")
|
||||||
public OrderDTO updateOrder(@PathVariable Long id,@RequestParam("date") String date) {
|
public OrderDTO updateOrder(@PathVariable Long id) {
|
||||||
return new OrderDTO(orderService.updateOrder(id,date));
|
return new OrderDTO(orderService.updateOrder(id));
|
||||||
}
|
}
|
||||||
|
|
||||||
@PutMapping("/{id}/favor")
|
@PostMapping("/{id}/favor")
|
||||||
public OrderDTO putIntoOrder(@PathVariable Long id, @RequestParam("favId") Long favId){
|
public OrderDTO putIntoOrder(@PathVariable Long id, @RequestParam("favId") Long favId){
|
||||||
return new OrderDTO(orderService.addFavorToOrder(id, favId));
|
return new OrderDTO(orderService.addFavorToOrder(id, favId));
|
||||||
}
|
}
|
||||||
|
@ -1,8 +1,11 @@
|
|||||||
package ru.ulstu.is.sbapp.repair.dtos;
|
package ru.ulstu.is.sbapp.repair.dtos;
|
||||||
|
|
||||||
import ru.ulstu.is.sbapp.repair.dtos.FavorDTO;
|
import ru.ulstu.is.sbapp.repair.dtos.FavorDTO;
|
||||||
|
import ru.ulstu.is.sbapp.repair.model.Component;
|
||||||
|
import ru.ulstu.is.sbapp.repair.model.Favor;
|
||||||
import ru.ulstu.is.sbapp.repair.model.Order;
|
import ru.ulstu.is.sbapp.repair.model.Order;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@ -11,9 +14,23 @@ public class OrderDTO {
|
|||||||
private Date date;
|
private Date date;
|
||||||
private List<FavorDTO> favorsDTOList;
|
private List<FavorDTO> favorsDTOList;
|
||||||
|
|
||||||
|
private List<Long> favorIds;
|
||||||
|
|
||||||
|
|
||||||
public OrderDTO(Order order){
|
public OrderDTO(Order order){
|
||||||
this.id =order.getId();
|
this.id =order.getId();
|
||||||
this.date = order.getDate();
|
this.date = order.getDate();
|
||||||
|
|
||||||
|
if (order.getFavorsList() == null){
|
||||||
|
this. favorIds = new ArrayList<>();
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
this.favorIds = new ArrayList<>();
|
||||||
|
List<Favor> favors = order.getFavorsList();
|
||||||
|
for (Favor favor : favors) {
|
||||||
|
favorIds.add(favor.getId());
|
||||||
|
}
|
||||||
|
}
|
||||||
this.favorsDTOList = order.getFavorsList() == null ? null: order.getFavorsList()
|
this.favorsDTOList = order.getFavorsList() == null ? null: order.getFavorsList()
|
||||||
.stream()
|
.stream()
|
||||||
.filter(x -> x.getOrders().contains(order.getId()))
|
.filter(x -> x.getOrders().contains(order.getId()))
|
||||||
@ -31,4 +48,6 @@ public class OrderDTO {
|
|||||||
public List<FavorDTO> getFavorsDTOList() {
|
public List<FavorDTO> getFavorsDTOList() {
|
||||||
return favorsDTOList;
|
return favorsDTOList;
|
||||||
}
|
}
|
||||||
|
public List<Long> getfavorIds() { return this.favorIds; }
|
||||||
|
public void setfavorIds(List<Long> favorIds) { this.favorIds = favorIds; }
|
||||||
}
|
}
|
||||||
|
@ -18,7 +18,7 @@ public class Component {
|
|||||||
@Column(name = "amount")
|
@Column(name = "amount")
|
||||||
private Integer amount;
|
private Integer amount;
|
||||||
|
|
||||||
@ManyToMany(fetch = FetchType.EAGER, mappedBy = "componentsList", cascade = CascadeType.REMOVE)
|
@ManyToMany(fetch = FetchType.EAGER, mappedBy = "componentsList", cascade = {CascadeType.MERGE})
|
||||||
private List<Favor> favorsListFromComponents;
|
private List<Favor> favorsListFromComponents;
|
||||||
|
|
||||||
public Component() {
|
public Component() {
|
||||||
|
@ -20,10 +20,10 @@ public class Favor {
|
|||||||
@Column(name = "price")
|
@Column(name = "price")
|
||||||
private Integer price;
|
private Integer price;
|
||||||
|
|
||||||
@ManyToMany(fetch = FetchType.EAGER, cascade = CascadeType.REMOVE)
|
@ManyToMany(fetch = FetchType.EAGER, cascade = {CascadeType.MERGE})
|
||||||
private List<Order> ordersList;
|
private List<Order> ordersList;
|
||||||
|
|
||||||
@ManyToMany(cascade = CascadeType.REMOVE)
|
@ManyToMany(cascade = {CascadeType.MERGE})
|
||||||
@LazyCollection(LazyCollectionOption.FALSE)
|
@LazyCollection(LazyCollectionOption.FALSE)
|
||||||
private List<Component> componentsList;
|
private List<Component> componentsList;
|
||||||
|
|
||||||
|
@ -17,7 +17,7 @@ public class Order {
|
|||||||
@Column(name = "date")
|
@Column(name = "date")
|
||||||
private Date date;
|
private Date date;
|
||||||
|
|
||||||
@ManyToMany (fetch = FetchType.EAGER, mappedBy = "ordersList", cascade = CascadeType.REMOVE)
|
@ManyToMany (fetch = FetchType.EAGER, mappedBy = "ordersList", cascade = CascadeType.REFRESH)
|
||||||
private List<Favor> favorsList;
|
private List<Favor> favorsList;
|
||||||
|
|
||||||
public Order(){
|
public Order(){
|
||||||
|
@ -26,8 +26,9 @@ public class OrderService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Transactional
|
@Transactional
|
||||||
public Order addOrder(String date) {
|
public Order addOrder() {
|
||||||
final Order order = new Order(getDate(date));
|
Date today = new Date();
|
||||||
|
final Order order = new Order(today);
|
||||||
validatorUtil.validate(order);
|
validatorUtil.validate(order);
|
||||||
return orderRepository.save(order);
|
return orderRepository.save(order);
|
||||||
}
|
}
|
||||||
@ -56,9 +57,8 @@ public class OrderService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Transactional
|
@Transactional
|
||||||
public Order updateOrder(Long id, String date) {
|
public Order updateOrder(Long id) {
|
||||||
final Order currentOrder = findOrder(id);
|
final Order currentOrder = findOrder(id);
|
||||||
currentOrder.setDate(getDate(date));
|
|
||||||
validatorUtil.validate(currentOrder);
|
validatorUtil.validate(currentOrder);
|
||||||
return orderRepository.save(currentOrder);
|
return orderRepository.save(currentOrder);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user