Skip to content
Snippets Groups Projects
Commit 8911e0e9 authored by Ulung32's avatar Ulung32
Browse files

feat addDetailPesanan

parent 2fafa5d7
Branches
Tags
No related merge requests found
Pipeline #59598 failed with stages
in 0 seconds
package models;
import java.util.ArrayList;
import javax.xml.bind.annotation.XmlRootElement;
import lombok.AllArgsConstructor;
......@@ -16,4 +18,30 @@ public class detailPesananModel {
private int id_pesanan;
private String nama_product;
private int quantity;
public ArrayList<detailPesananModel> convertFromString(int id_pesanan, String nama_product, String quantity){
ArrayList<Integer> list_id_pesanan = new ArrayList<>();
ArrayList<String> list_nama_product = new ArrayList<>();
ArrayList<Integer> list_quantity = new ArrayList<>();
String[] nama_product_items = nama_product.split(",");
for(String item: nama_product_items){
list_nama_product.add(item);
}
String[] quantity_items = quantity.split(",");
for(String item: quantity_items){
list_quantity.add(Integer.parseInt(item.trim()));
}
ArrayList<detailPesananModel> detailPesanan = new ArrayList<>();
for(int i = 0; i < list_quantity.size(); i++){
detailPesananModel temp = new detailPesananModel(id_pesanan, list_nama_product.get(i), list_quantity.get(i));
detailPesanan.add(temp);
}
return detailPesanan;
}
}
......@@ -6,6 +6,7 @@ import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.function.IntBinaryOperator;
import models.detailPesananModel;
......@@ -46,4 +47,51 @@ public class detailPesananRepo extends repository{
}
return null;
}
public String addDetailPesanan(ArrayList<detailPesananModel> detailPesanan){
// ArrayList<detailPesananModel> detailPesanan = new ArrayList<>();
// for(int i = 0; i< nama_produk.size(); i++){
// detailPesananModel model = new detailPesananModel(id_pesanan.get(i), nama_produk.get(i), quantity.get(i));
// detailPesanan.add(model);
// }
String query = "INSERT INTO detail_pesanan(id_pesanan, nama_produk, quantity) VALUES";
for(int i = 0; i < detailPesanan.size(); i++){
String temp;
if(i == 0){
temp = "(?, ?, ?)";
}else{
temp = ", (?, ?, ?)";
}
query += temp;
}
query +=";";
//binding
try{
int paramIndex = 1;
PreparedStatement addDetailPesanan = this.conn.prepareStatement(query);
for(int i = 0; i < detailPesanan.size(); i++){
addDetailPesanan.setString(paramIndex, Integer.toString(detailPesanan.get(i).getId_pesanan()));
paramIndex++;
addDetailPesanan.setString(paramIndex, detailPesanan.get(i).getNama_product());
paramIndex++;
addDetailPesanan.setString(paramIndex, Integer.toString(detailPesanan.get(i).getQuantity()));
paramIndex++;
}
addDetailPesanan.execute();
addDetailPesanan.close();
String result = "succes";
return result;
}catch(Exception e){
System.out.println(e.getMessage());
return "gagal menambah detail";
}
}
}
......@@ -55,6 +55,23 @@ public class pesananRepo extends repository{
return null;
}
public int getLastId(){
String query = "SELECT id from pesanan order by id DESC limit 1;";
try {
PreparedStatement stmt = this.conn.prepareStatement(query);
ResultSet rs = stmt.executeQuery();
if (rs.next()) {
return rs.getInt("id");
}else{
return -1;
}
} catch (Exception e) {
e.printStackTrace();
return -1;
}
}
public List<pesananModel> getPesananNoKurir() throws SQLException{
String query = "SELECT * FROM pesanan WHERE id_kurir = ?";
ArrayList<pesananModel> listPesanan = new ArrayList<>();
......
......@@ -14,7 +14,7 @@ import models.pesananModel;
public interface PesananWS {
@WebMethod public List<pesananModel> getPesananByKurir(int id_kurir);
@WebMethod public List<pesananModel> getPesananNoKurir();
@WebMethod public String addPesanan(String alamat, String nama_penerima, String keterangan);
@WebMethod public String addPesanan(String alamat, String nama_penerima, String keterangan, String nama_product, String quantity);
@WebMethod public String ambilPesanan(int id_pesanan, int id_kurir);
@WebMethod public String updatePesanan(int id_pesanan, int id_kurir, String status, String keterangan);
}
package ws;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import javax.jws.HandlerChain;
import javax.jws.WebMethod;
import javax.jws.WebService;
import models.detailPesananModel;
import models.pesananModel;
import repo.detailPesananRepo;
import repo.pesananRepo;
@WebService(endpointInterface = "ws.PesananWS")
......@@ -48,10 +51,19 @@ public class PesananWSImpl implements PesananWS{
}
@WebMethod
public String addPesanan(String alamat, String nama_penerima, String keterangan){
public String addPesanan(String alamat, String nama_penerima, String keterangan, String nama_product, String quantity){
detailPesananModel dp = new detailPesananModel();
try{
pesananRepo pr = new pesananRepo();
String result = pr.addPesanan(alamat, nama_penerima, keterangan);
int lastId = pr.getLastId();
if(lastId == -1){
return "Gagal";
}
ArrayList<detailPesananModel> detailPesanan = dp.convertFromString(lastId, nama_product, quantity);
detailPesananRepo dpr = new detailPesananRepo();
result = dpr.addDetailPesanan(detailPesanan);
return result;
}catch(Exception e){
System.out.println(e.getMessage());
......@@ -82,4 +94,6 @@ public class PesananWSImpl implements PesananWS{
return "Gagal mengedit pesanan";
}
}
}
\ No newline at end of file
package ws;
import java.util.ArrayList;
import java.util.List;
import javax.jws.WebMethod;
......@@ -13,4 +14,8 @@ import models.detailPesananModel;
@SOAPBinding(style = Style.DOCUMENT)
public interface detailPesananWS {
@WebMethod public List<detailPesananModel> getDetailPesanan(int id_pesanan);
// @WebMethod public String addDetailPesanan (String id_pesanan, String nama_product, String quantity);
}
package ws;
import java.util.ArrayList;
import java.util.List;
import javax.jws.HandlerChain;
......@@ -24,4 +25,38 @@ public class detailPesananWSImpl implements detailPesananWS{
}
}
// @WebMethod
// public String addDetailPesanan (String id_pesanan, String nama_product, String quantity){
// ArrayList<Integer> list_id_pesanan = new ArrayList<>();
// ArrayList<String> list_nama_product = new ArrayList<>();
// ArrayList<Integer> list_quantity = new ArrayList<>();
// String[] id_pesanan_items = id_pesanan.split(",");
// for (String item : id_pesanan_items) {
// list_id_pesanan.add(Integer.parseInt(item.trim()));
// }
// String[] nama_product_items = nama_product.split(",");
// for(String item: nama_product_items){
// list_nama_product.add(item);
// }
// String[] quantity_items = quantity.split(",");
// for(String item: quantity_items){
// list_quantity.add(Integer.parseInt(item.trim()));
// }
// ArrayList<detailPesananModel> detailPesanan = new ArrayList<>();
// for(int i = 0; i < list_quantity.size(); i++){
// detailPesananModel temp = new detailPesananModel(list_id_pesanan.get(i), list_nama_product.get(i), list_quantity.get(i));
// detailPesanan.add(temp);
// }
// detailPesananRepo dpr = new detailPesananRepo();
// String result = dpr.addDetailPesanan(detailPesanan);
// return result;
// }
}
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment