Advertisement
Guest User

Untitled

a guest
May 21st, 2017
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 7.80 KB | None | 0 0
  1. package Database;
  2.  
  3. import java.sql.Connection;
  4. import java.sql.Date;
  5. import java.sql.DriverManager;
  6. import java.sql.PreparedStatement;
  7. import java.sql.ResultSet;
  8. import java.sql.SQLException;
  9. import java.text.DateFormat;
  10. import java.text.SimpleDateFormat;
  11. import java.util.ArrayList;
  12. import java.util.Calendar;
  13. import java.util.HashMap;
  14. import java.util.Map;
  15.  
  16. public class Database {
  17. private Connection conn;
  18.  
  19.     public Database(){
  20.     conn = null;
  21.     }
  22.  
  23.     public boolean openConnection(String userName,String password){
  24.         try {
  25.             Class.forName("com.mysql.jdbc.Driver");
  26.             conn = DriverManager.getConnection(
  27.                     "jdbc:mysql://localhost:3306/krusty","root","lolilol");
  28.         } catch (SQLException e) {
  29.             e.printStackTrace();
  30.             return false;
  31.         } catch (ClassNotFoundException e) {
  32.             e.printStackTrace();
  33.             return false;
  34.         }
  35.         return true;
  36.     }
  37.    
  38.     public void closeConnection() {
  39.         try {
  40.             if (conn != null) {
  41.                 conn.close();
  42.             }
  43.         } catch (SQLException e) {
  44.         }
  45.         conn = null;
  46.     }
  47.    
  48.     public boolean isConnected() {
  49.         return conn != null;
  50.     }
  51.    
  52.     public int newPallet(String cookieName,int OrderNbr){
  53.         int ID = -1;
  54.         try{
  55.             String sql = "INSERT INTO pallets (CookieName,OrderNbr,Location,Produced,Blocked) values (?,?,'Freezer',CURDATE(),0) ";
  56.             PreparedStatement ps = conn.prepareStatement(sql);
  57.             ps.setString(1, cookieName);
  58.             ps.setInt(2, OrderNbr);
  59.             ps.executeUpdate();
  60.             sql = "SELECT last_insert_id() FROM pallets";
  61.             ps = conn.prepareStatement(sql);
  62.             ResultSet rs = ps.executeQuery();
  63.             while(rs.next()){
  64.             ID = rs.getInt(1);
  65.             }
  66.             rs.close();
  67.             ps.close();
  68.         } catch (SQLException e){
  69.             e.printStackTrace();
  70.         }
  71.         return ID;
  72.     }
  73.    
  74.     public ArrayList<Integer> getorderNbrs(){
  75.         ArrayList<Integer> nbrs = new ArrayList<Integer>();
  76.         try{
  77.             String sql = "SELECT OrderNbr FROM orders";
  78.             PreparedStatement ps = conn.prepareStatement(sql);
  79.             ResultSet rs = ps.executeQuery();
  80.             while(rs.next()){
  81.                 nbrs.add(rs.getInt(1));
  82.             }
  83.             rs.close();
  84.             ps.close();
  85.         } catch (SQLException e){
  86.             e.printStackTrace();
  87.         }
  88.         return nbrs;
  89.     }
  90.    
  91.     public ArrayList<String> getCookies(){
  92.         ArrayList<String> cookies = new ArrayList<String>();
  93.         try{
  94.         String sql = "SELECT DISTINCT CookieName FROM recipes";
  95.         PreparedStatement ps = conn.prepareStatement(sql);
  96.         ResultSet rs = ps.executeQuery();
  97.         while(rs.next()){
  98.             cookies.add(rs.getString(1).toLowerCase());
  99.         }
  100.         ps.close();
  101.         rs.close();
  102.         } catch (SQLException e){
  103.             e.printStackTrace();
  104.         }
  105.         return cookies;
  106.     }
  107.    
  108.     public ArrayList<FullInfoPallet> getPalletsWithCookie(String cookieName){
  109.         ArrayList<FullInfoPallet> pallets = new ArrayList<FullInfoPallet>();
  110.         try{
  111.             String sql = "SELECT PalletCode,CookieName,Produced,Location,DeliverDate,Customer,CURDATE() FROM Pallets NATURAL JOIN orders WHERE CookieName = ?";
  112.             PreparedStatement ps = conn.prepareStatement(sql);
  113.             ps.setString(1, cookieName);
  114.             ResultSet rs = ps.executeQuery();
  115.             while(rs.next()){
  116.                 pallets.add(new FullInfoPallet(rs.getString(1),rs.getString(2),
  117.                         rs.getString(3),rs.getString(4),
  118.                         rs.getString(5),rs.getString(6)));
  119.             }
  120.             rs.close();
  121.             ps.close();
  122.         } catch (SQLException e){
  123.             e.printStackTrace();
  124.         }
  125.         return pallets;
  126.     }
  127.    
  128.     public ArrayList<FullInfoPallet> getDeliveredPalletsWithCustomer(String customer){
  129.         ArrayList<FullInfoPallet> pallets = new ArrayList<FullInfoPallet>();
  130.     try{
  131.         String sql = "SELECT PalletCode,CookieName,Produced,Location,DeliverDate,Customer FROM Pallets NATURAL JOIN orders WHERE Customer = ? AND Location = 'Delivered'";
  132.         PreparedStatement ps = conn.prepareStatement(sql);
  133.         ps.setString(1, customer);
  134.        
  135.         ResultSet rs = ps.executeQuery();
  136.         while(rs.next()){
  137.             pallets.add(new FullInfoPallet(rs.getString(1),rs.getString(2),
  138.                     rs.getString(3),rs.getString(4),
  139.                     rs.getString(5),rs.getString(6)));
  140.         }
  141.         rs.close();
  142.         ps.close();
  143.     } catch (SQLException e){
  144.         e.printStackTrace();
  145.     }
  146.     return pallets;
  147.     }
  148.    
  149.     public ArrayList<FullInfoPallet> getPallet(int ID){
  150.         ArrayList<FullInfoPallet> pallet = new ArrayList<FullInfoPallet>();
  151.         try{
  152.         String sql = "SELECT PalletCode,CookieName,Produced,Location,DeliverDate,Customer,CURDATE() FROM Pallets NATURAL JOIN orders WHERE PalletCode = ?";
  153.         PreparedStatement ps = conn.prepareStatement(sql);
  154.         ps.setInt(1, ID);
  155.         ResultSet rs = ps.executeQuery();
  156.         while(rs.next()){
  157.             pallet.add(new FullInfoPallet(rs.getString(1),rs.getString(2),
  158.                     rs.getString(3),rs.getString(4),
  159.                     rs.getString(5),rs.getString(6)));
  160.         }
  161.         rs.close();
  162.         ps.close();
  163.         } catch (SQLException e){
  164.             e.printStackTrace();
  165.         }
  166.         return pallet;
  167.     }
  168.    
  169.     public ArrayList<FullInfoPallet> getPalletsIntervall(java.sql.Date from,java.sql.Date to){
  170.         ArrayList<FullInfoPallet> pallets = new ArrayList<FullInfoPallet>();
  171.         try{
  172.             String sql = "SELECT PalletCode,CookieName,Produced,Location,DeliverDate,Customer FROM Pallets NATURAL JOIN orders WHERE Produced BETWEEN ? AND ?";
  173.             PreparedStatement ps = conn.prepareStatement(sql);
  174.             ps.setDate(1, from);
  175.             ps.setDate(2, to);
  176.             ResultSet rs = ps.executeQuery();
  177.             while(rs.next()){
  178.                 pallets.add(new FullInfoPallet(rs.getString(1),rs.getString(2),
  179.                     rs.getString(3),rs.getString(4),
  180.                     rs.getString(5),rs.getString(6)));
  181.             }
  182.             rs.close();
  183.             ps.close();
  184.         } catch (SQLException e){
  185.             e.printStackTrace();
  186.         }
  187.         return pallets;
  188.     }
  189.    
  190.     public Map<String,String> getIngredients(String cookieName){
  191.         try{
  192.             String sql = "SELECT ingredience,amount FROM recipes WHERE "
  193.                     + "CookieName = ?";
  194.             PreparedStatement ps = conn.prepareStatement(sql);
  195.             ps.setString(1, cookieName);
  196.             ResultSet rs = ps.executeQuery();
  197.             Map<String,String> ingredients = new HashMap<String,String>();
  198.             while(rs.next()){
  199.                 ingredients.put(rs.getString(1), rs.getString(2));
  200.             }
  201.             rs.close();
  202.             ps.close();
  203.             return ingredients;
  204.         } catch(SQLException e){
  205.             e.printStackTrace();
  206.         }
  207.         return null;
  208.     }
  209.    
  210.     public ArrayList<String> getCustomers(){
  211.         ArrayList<String> customers = new ArrayList<String>();
  212.         try{
  213.         String sql = "SELECT Customer FROM customer";
  214.         PreparedStatement ps = conn.prepareStatement(sql);
  215.         ResultSet rs = ps.executeQuery();
  216.         while(rs.next()){
  217.             customers.add(rs.getString(1));
  218.         }
  219.         rs.close();
  220.         ps.close();
  221.         } catch (SQLException e){
  222.             e.printStackTrace();
  223.         }      
  224.         return customers;
  225.     }
  226.    
  227.     public void updateIngredients(String ingr, Double amount){
  228.         try{
  229.         String sql = "UPDATE ingredients SET InStore = InStore - ?"
  230.                 + "WHERE Ingredience = ?";
  231.         PreparedStatement ps = conn.prepareStatement(sql);
  232.         ps.setDouble(1, amount);
  233.         ps.setString(2, ingr);
  234.         ps.executeUpdate();
  235.         ps.close();
  236.         } catch (SQLException e){
  237.             e.printStackTrace();
  238.         }
  239.     }
  240.    
  241.     public ArrayList<Pallet> getBlockedPallets(){
  242.         ArrayList<Pallet> blocked = new ArrayList<Pallet>();
  243.         try{
  244.         String sql = "SELECT PalletCode,CookieName,Produced FROM Pallets WHERE Blocked = 1";
  245.         PreparedStatement ps = conn.prepareStatement(sql);
  246.         ResultSet rs = ps.executeQuery();
  247.        
  248.         StringBuilder sb;
  249.         DateFormat df = df = new SimpleDateFormat("yyyy-MM-dd");
  250.         Date date;
  251.         String sDate;
  252.         while(rs.next()){
  253.             date = rs.getDate(3);
  254.             sDate = df.format(date);
  255.             blocked.add(new Pallet(rs.getString(1),rs.getString(2),sDate));
  256.         }
  257.         ps.close();
  258.         rs.close();
  259.         } catch (SQLException e){
  260.             e.printStackTrace();
  261.         }
  262.         return blocked;
  263.     }
  264.    
  265.     public void blockPallets(String cookieName,java.sql.Date from,java.sql.Date to){
  266.         try{
  267.         String sql = "UPDATE Pallets SET Blocked = 1 WHERE CookieName = ? AND Produced BETWEEN ? AND ?";
  268.         PreparedStatement ps = conn.prepareStatement(sql);
  269.         ps.setString(1, cookieName);
  270.         ps.setDate(2, from);
  271.         ps.setDate(3, to);
  272.         ps.executeUpdate();
  273.         ps.close();
  274.         } catch (SQLException e){
  275.             e.printStackTrace();
  276.         }
  277.     }
  278.    
  279. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement