2020-04-24 16:44:53 +02:00
|
|
|
package servlet;
|
|
|
|
|
|
|
|
import java.io.IOException;
|
|
|
|
import java.time.LocalDate;
|
|
|
|
import java.time.temporal.ChronoUnit;
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
|
|
|
import javax.servlet.ServletException;
|
|
|
|
import javax.servlet.annotation.WebServlet;
|
|
|
|
import javax.servlet.http.HttpServlet;
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
|
|
|
|
|
import bean.Contatto;
|
|
|
|
import service.ContattoService;
|
|
|
|
import service.OrdiniService;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Servlet implementation class OrdiniServlet
|
|
|
|
*/
|
|
|
|
@WebServlet("/ordini-ctrl")
|
|
|
|
public class OrdiniServlet extends HttpServlet {
|
|
|
|
private static final long serialVersionUID = 1L;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @see HttpServlet#HttpServlet()
|
|
|
|
*/
|
|
|
|
public OrdiniServlet() {
|
|
|
|
super();
|
|
|
|
// TODO Auto-generated constructor stub
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
|
|
|
|
* response)
|
|
|
|
*/
|
|
|
|
protected void doGet(HttpServletRequest request, HttpServletResponse response)
|
|
|
|
throws ServletException, IOException {
|
|
|
|
// TODO Auto-generated method stub
|
|
|
|
response.getWriter().append("Served at: ").append(request.getContextPath());
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
|
|
|
|
* response)
|
|
|
|
*/
|
|
|
|
protected void doPost(HttpServletRequest request, HttpServletResponse response)
|
|
|
|
throws ServletException, IOException {
|
|
|
|
String azione = request.getParameter("azione");
|
|
|
|
|
|
|
|
if (azione.equals("aggiungi")) {
|
|
|
|
Long numero = Long.parseLong(request.getParameter("numero"));
|
|
|
|
|
|
|
|
Contatto contatto = ContattoService.cercaPerNumero(numero);
|
|
|
|
|
|
|
|
if (contatto != null) {
|
|
|
|
|
|
|
|
LocalDate ultimaConsegna = contatto.getUltima_consegna();
|
|
|
|
|
2020-04-27 18:47:09 +02:00
|
|
|
System.out.println("Passati: " + ChronoUnit.DAYS.between(LocalDate.now(), ultimaConsegna));
|
|
|
|
|
|
|
|
if (ultimaConsegna == null || ChronoUnit.DAYS.between(ultimaConsegna, LocalDate.now()) >= 5) {
|
2020-04-24 16:44:53 +02:00
|
|
|
boolean ok = OrdiniService.aggiungi(numero);
|
|
|
|
|
|
|
|
if (ok) {
|
|
|
|
response.sendRedirect("elenco-ordini.jsp");
|
|
|
|
} else {
|
|
|
|
request.setAttribute("messaggio", "Impossibile aggiungere l'ordine");
|
|
|
|
request.getRequestDispatcher("error.jsp").forward(request, response);
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
request.setAttribute("messaggio", "Impossibile aggiungere l'ordine, sono passati meno di 5 gioni");
|
2020-04-27 18:47:09 +02:00
|
|
|
request.getRequestDispatcher("home-contatto.jsp?id="+numero).forward(request, response);
|
2020-04-24 16:44:53 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
} else {
|
|
|
|
request.setAttribute("messaggio", "Impossibile aggiungere l'ordine, contatto inesistente");
|
|
|
|
request.getRequestDispatcher("error.jsp").forward(request, response);
|
|
|
|
}
|
|
|
|
|
|
|
|
} else if (azione.equals("elimina")) {
|
|
|
|
long telefono = Long.parseLong(request.getParameter("id"));
|
|
|
|
boolean ok = OrdiniService.rimuovi(telefono);
|
|
|
|
|
|
|
|
if (ok) {
|
|
|
|
ContattoService.consegnatoIl(telefono, LocalDate.now());
|
|
|
|
|
|
|
|
response.sendRedirect("elenco-ordini.jsp");
|
|
|
|
} else {
|
|
|
|
response.sendRedirect("error.jsp");
|
|
|
|
}
|
|
|
|
} else if (azione.equals("selectTop")) {
|
|
|
|
int limite = Integer.parseInt(request.getParameter("limite"));
|
|
|
|
System.out.println(limite);
|
|
|
|
request.setAttribute("limit", limite);
|
|
|
|
request.getRequestDispatcher("elenco-ordini.jsp").forward(request, response);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|