Suggest a feature
×

Welcome to TagMyCode

Please login or create account to add a snippet.
0
0
 
0
Language: Java
Posted by: Md. Sofiqul Islam
Added: Nov 21, 2018 6:14 AM
Views: 15
Tags: no tags
  1. package com.coderbd.service;
  2.  
  3. import com.coderbd.connection.MySqlDbConnection;
  4. import com.coderbd.domain.ProductCategory;
  5. import com.coderbd.domain.Purchase;
  6. import com.coderbd.domain.Sales;
  7. import com.coderbd.domain.Summary;
  8. import com.coderbd.domain.User;
  9. import java.sql.Connection;
  10. import java.sql.PreparedStatement;
  11. import java.sql.ResultSet;
  12. import java.sql.SQLException;
  13. import java.util.ArrayList;
  14. import java.util.Date;
  15. import java.util.List;
  16. import java.util.logging.Level;
  17. import java.util.logging.Logger;
  18.  
  19. public class SalesService {
  20.  
  21.     static Connection conn = MySqlDbConnection.getConnection();
  22.  
  23.     public static void createTable() {
  24.         String sql = "create table sales(id int auto_increment primary key, productName varchar(30) not null, productCode varchar(30) not null,qty int(11) not null,unitprice double not null,  totalPrice double not null, salesdate Date not null, product_id int(11) not null, foreign key (product_id) references purchase(id))";
  25.         try {
  26.             PreparedStatement ps = conn.prepareStatement(sql);
  27.             ps.execute();
  28.             System.out.println("Table Created!");
  29.         } catch (SQLException ex) {
  30.             Logger.getLogger(SalesService.class.getName()).log(Level.SEVERE, null, ex);
  31.         }
  32.     }
  33.  
  34.     public static void insert(Sales sales) {
  35.         String sql = "insert into sales(productName, productCode,qty, unitprice, totalPrice, salesdate, product_id, user_id) values(?,?,?,?,?,?,?,?)";
  36.         try {
  37.             PreparedStatement ps = conn.prepareStatement(sql);
  38.             ps.setString(1, sales.getProductName());
  39.             ps.setString(2, sales.getProductCode());
  40.             ps.setInt(3, sales.getQty());
  41.             ps.setDouble(4, sales.getUnitprice());
  42.             ps.setDouble(5, sales.getTotalPrice());
  43.             ps.setDate(6, new java.sql.Date(sales.getSalesdate().getTime()));
  44.             ps.setInt(7, sales.getPurchase().getId());
  45.             ps.setInt(8, sales.getUser().getId());
  46.  
  47.             ps.executeUpdate();
  48.             System.out.println("Data Inserted!");
  49.         } catch (SQLException ex) {
  50.             Logger.getLogger(SalesService.class.getName()).log(Level.SEVERE, null, ex);
  51.         }
  52.     }
  53.  
  54.     public static void insertForSales(Sales sales) {
  55.         if (sales != null) {
  56.             Summary summary = SummaryService.getSummaryByProductCode(sales.getProductCode());
  57.             if (summary.getAvailableQty() >= sales.getQty()) {
  58.                 insert(sales);
  59.                 int soldQrt = summary.getSoldQty() + sales.getQty();
  60.                 int avilQty = summary.getAvailableQty() - sales.getQty();
  61.  
  62.                 summary.setSoldQty(soldQrt);
  63.                 summary.setAvailableQty(avilQty);
  64.                 summary.setLastUpdate(new Date());
  65.  
  66.                 SummaryService.update(summary);
  67.             } else {
  68.                 System.out.println("You do not have sufficient Product");
  69.             }
  70.         }
  71.     }
  72.  
  73.     public static List<Sales> getSalesList() {
  74.         List<Sales> list = new ArrayList<>();
  75.  
  76.         String sql = "select s.productName,s.productCode, s.qty, s.unitPrice, s.totalPrice, s.salesdate, c.name from sales s, purchase p, category c where s.product_id=p.id and p.cat_id=c.id";
  77.         try {
  78.             PreparedStatement ps = conn.prepareStatement(sql);
  79.             ResultSet rs = ps.executeQuery();
  80.             while (rs.next()) {
  81.                 Sales sales = new Sales();
  82.                 sales.setProductName(rs.getString(1));
  83.                 sales.setProductCode(rs.getString(2));
  84.                 sales.setQty(rs.getInt(3));
  85.                 sales.setUnitprice(rs.getDouble(4));
  86.                 sales.setTotalPrice(rs.getDouble(5));
  87.                 sales.setSalesdate(rs.getDate(6));
  88.                 ProductCategory pc = new ProductCategory();
  89.                 pc.setName(rs.getString(7));
  90.                 Purchase p = new Purchase();
  91.                 p.setProductCategory(pc);
  92.                 sales.setPurchase(p);
  93.                 User user = new User();
  94.                 user.setId(rs.getInt(9));
  95.                 sales.setUser(user);
  96.                 list.add(sales);
  97.             }
  98.  
  99.         } catch (SQLException ex) {
  100.             Logger.getLogger(PurchaseService.class.getName()).log(Level.SEVERE, null, ex);
  101.         }
  102.         return list;
  103.     }
  104.  
  105. }
  106.