hdpos/src/main/java/com/example/services/OrderService.java

695 lines
37 KiB
Java

package com.example.services;
import com.example.services.order.Order;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ArrayNode;
import com.fasterxml.jackson.databind.node.ObjectNode;
import java.sql.Date;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.List;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.json.JSONObject;
import org.json.XML;
@Path("/obi")
public class OrderService {
private static final Logger logger = LoggerFactory.getLogger(OrderService.class);
@GET
@Path("/order")
@Produces(MediaType.APPLICATION_JSON)
public Response getAllOrders(@QueryParam("q") String q,
@QueryParam("page") int page,
@QueryParam("itemsPerPage") int itemsPerPage,
@QueryParam("sortBy") String sortBy,
@QueryParam("orderBy") String orderBy,
@QueryParam("status") String status,
@QueryParam("type") String type,
@QueryParam("minDate") String minDate,
@QueryParam("maxDate") String maxDate) {
DriverManager.setLoginTimeout(5); // Définir le timeout à 5 secondes
try (DatabaseConnectOBI databaseConnection = new DatabaseConnectOBI()) {
String countQuery = "SELECT COUNT(*), "
+ "SUM (CASE WHEN oo.status = 'new_order' THEN 1 ELSE 0 END) AS stat_status1, "
+ "SUM (CASE WHEN oo.status = 'polled' THEN 1 ELSE 0 END) AS stat_status2, "
+ "SUM (CASE WHEN oo.status = 'fulfilled' THEN 1 ELSE 0 END) AS stat_status3, "
+ "SUM (CASE WHEN oo.status = 'received' THEN 1 ELSE 0 END) AS stat_status4, "
+ "SUM (CASE WHEN oo.status = 'unfulfillable' THEN 1 ELSE 0 END) AS stat_status5, "
+ "SUM (CASE WHEN oo.status = 'canceled' THEN 1 ELSE 0 END) AS stat_status6 "
+ "FROM obi_order oo "
+ "JOIN obi_transaction_type ott on ott.transaction_type_id = oo.transaction_type_id";
String query =
"SELECT oo.request_id, "
+ "oo.order_id, "
+ "oo.transaction_date, "
+ "oo.status as status, "
+ "ott.transaction_type_description "
+ "FROM obi_order oo "
+ "JOIN obi_transaction_type ott on ott.transaction_type_id = oo.transaction_type_id";
List<String> conditions = new ArrayList<>();
if (q != null && !q.isEmpty()) {
conditions.add(" oo.order_id LIKE ? ");
}
if (status != null && !status.isEmpty()) {
conditions.add(" oo.status = ? ");
}
if (type != null && !type.isEmpty()) {
conditions.add(" ott.transaction_type_code = ? ");
}
if (minDate != null && !minDate.isEmpty()) {
conditions.add(" DATE_TRUNC('day', oo.transaction_date) >= ? ");
}
if (maxDate != null && !maxDate.isEmpty()) {
conditions.add(" DATE_TRUNC('day', oo.transaction_date) <= ? ");
}
if (!conditions.isEmpty()) {
countQuery += " WHERE " + String.join(" AND ", conditions);
query += " WHERE " + String.join(" AND ", conditions);
}
if (sortBy != null && !sortBy.isEmpty()) {
query += " ORDER BY " + sortBy;
if (orderBy != null && !orderBy.isEmpty()) {
query += " " + orderBy;
}
}
if (page > 0 && itemsPerPage > 0) {
query += " LIMIT " + itemsPerPage + " OFFSET " + (page - 1) * itemsPerPage;
}
logger.info(query);
try (PreparedStatement countStatement = databaseConnection.getConnection().prepareStatement(countQuery);
PreparedStatement statement = databaseConnection.getConnection().prepareStatement(query)) {
int index = 1;
if (q != null && !q.isEmpty()) {
countStatement.setString(index, "%" + q + "%");
statement.setString(index++, "%" + q + "%");
}
if(status != null && !status.isEmpty()) {
countStatement.setString(index, status );
statement.setString(index++, status );
}
if (type != null && !type.isEmpty()) {
countStatement.setString(index, type);
statement.setString(index++, type);
}
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
if (minDate != null && !minDate.isEmpty()) {
try {
java.util.Date parsedMinDate = dateFormat.parse(minDate);
java.sql.Date sqlMinDate = new java.sql.Date(parsedMinDate.getTime());
countStatement.setDate(index, sqlMinDate);
statement.setDate(index++, sqlMinDate);
} catch (ParseException e) {
e.printStackTrace();
}
}
if (maxDate != null && !maxDate.isEmpty()) {
try {
java.util.Date parsedMaxDate = dateFormat.parse(maxDate);
java.sql.Date sqlMaxDate = new java.sql.Date(parsedMaxDate.getTime());
countStatement.setDate(index, sqlMaxDate);
statement.setDate(index++, sqlMaxDate);
} catch (ParseException e) {
e.printStackTrace();
}
}
ResultSet countResultSet = countStatement.executeQuery();
countResultSet.next();
int total = countResultSet.getInt(1);
int statStatus1 = countResultSet.getInt(2);
int statStatus2 = countResultSet.getInt(3);
int statStatus3 = countResultSet.getInt(4);
int statStatus4 = countResultSet.getInt(5);
int statStatus5 = countResultSet.getInt(6);
int statStatus6 = countResultSet.getInt(7);
ResultSet resultSet = statement.executeQuery(); {
List<Order> orderList = new ArrayList<>();
while (resultSet.next()) {
Order order = mapResultSetToOrderList(resultSet);
orderList.add(order);
}
ObjectMapper objectMapper = new ObjectMapper();
ObjectNode responseNode = objectMapper.createObjectNode();
responseNode.put("total", total);
ArrayNode statisticsArray = objectMapper.createArrayNode();
String[] titles = {"new_order", "polled", "fulfilled", "received","unfulfillable","canceled"};
String[] icons = {"tabler-calendar-stats", "tabler-progress-check", "tabler-checks", "tabler-checks","tabler-wallet","tabler-circle-x"};
int[] counts = {statStatus1, statStatus2, statStatus3, statStatus4, statStatus5, statStatus6};
for (int i = 0; i < titles.length; i++) {
ObjectNode node = objectMapper.createObjectNode();
node.put("title", titles[i]);
node.put("value", counts[i]);
node.put("icon", icons[i]);
statisticsArray.add(node);
}
responseNode.set("statistics", statisticsArray);
responseNode.set("orders", objectMapper.valueToTree(orderList));
String jsonResponse;
try {
jsonResponse = objectMapper.writeValueAsString(responseNode);
return Response.ok(jsonResponse).build();
} catch (JsonProcessingException e) {
e.printStackTrace();
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity("{\"error\":\"Error processing JSON\"}").build();
}
}
}
} catch (SQLException e) {
e.printStackTrace();
String errorResponse = "{\"error\":\"" + e.getMessage() + "\"}";
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(errorResponse).build();
}
}
@GET
@Path("/order/{requestId}")
@Produces(MediaType.APPLICATION_JSON)
public Response getOrderById( @PathParam("requestId") Long requestId) throws SQLException {
DriverManager.setLoginTimeout(5); // Définir le timeout à 5 secondes
try (DatabaseConnectOBI databaseConnection = new DatabaseConnectOBI()) {
// ORDER SECTION ---------------------------------
String orderQuery = "SELECT oo.request_id, oo.order_id, oo.requesting_location_cd, oo.requesting_system_cd, "
+ "oo.customer_id, oo.transaction_no, oo.transaction_type_id, oo.transaction_date, oo.status, "
+ "oo.fdate_creation, oo.consumed, oo.shipforpickup_location_cd, oo.shipforpickup_system_cd, "
+ "ott.transaction_type_description "
+ "FROM obi_order oo "
+ "JOIN obi_transaction_type ott on ott.transaction_type_id = oo.transaction_type_id "
+ "WHERE oo.request_id = ?";
logger.info(orderQuery);
try (PreparedStatement statement = databaseConnection.getConnection().prepareStatement(orderQuery)) {
statement.setLong(1, requestId);
try (ResultSet resultSet = statement.executeQuery()) {
if (resultSet.next()) {
Order order = mapResultSetToOrder(resultSet);
// ORDER LINES SECTION ---------------------------------
String orderLinesQuery = "SELECT olo.line_order_id, olo.line_item_no, olo.order_id, olo.request_id, olo.line_item_oms, "
+ "olo.item_id, olo.ordered_line_qty, olo.status, olo.transaction_date, olo.shipping_agent, "
+ "olo.tracking_number, olo.fulfillment_id, olo.carton_number, olo.fdate_creation, olo.consumed "
+ "FROM obi.obi_ln_order olo "
+ "WHERE olo.request_id = ? "
+ "ORDER BY olo.line_item_no";
logger.info(orderLinesQuery);
try (PreparedStatement linesStatement = databaseConnection.getConnection().prepareStatement(orderLinesQuery)) {
linesStatement.setLong(1, requestId);
try (ResultSet linesResultSet = linesStatement.executeQuery()) {
List<Order.Lines> orderLinesList = new ArrayList<>();
while (linesResultSet.next()) {
orderLinesList.add(mapResultSetToOrderLine(linesResultSet));
String orderLinesHistoryQuery = "SELECT ohlo.status_id, ohlo.line_order_id, ohlo.status, ohlo.transaction_date, ohlo.fdate_creation "
+ "FROM obi.obi_h_ln_order ohlo "
+ "WHERE ohlo.line_order_id = ? "
+ "ORDER BY ohlo.status_id DESC";
logger.info(orderLinesHistoryQuery);
try (PreparedStatement orderLinesHistoryStatement = databaseConnection.getConnection().prepareStatement(orderLinesHistoryQuery)) {
orderLinesHistoryStatement.setLong(1, orderLinesList.get(orderLinesList.size() - 1).getLineOrderId());
try (ResultSet orderLinesHistoryResultSet = orderLinesHistoryStatement.executeQuery()) {
List<Order.History> orderLinesHistoryList = new ArrayList<>();
while (orderLinesHistoryResultSet.next()) {
orderLinesHistoryList.add(mapResultSetToOrderLinesHistory(orderLinesHistoryResultSet));
}
orderLinesList.get(orderLinesList.size() - 1).setHistory(orderLinesHistoryList);
}
}
}
order.setLines(orderLinesList);
}
}
// ORDER HISTORY SECTION ---------------------------------
String orderHistoryQuery = "SELECT oho.status_id, oho.request_id, oho.status, oho.transaction_date, oho.fdate_creation "
+ "FROM obi.obi_h_order oho "
+ "WHERE oho.request_id = ? "
+ "ORDER BY oho.status_id DESC";
logger.info(orderHistoryQuery);
try (PreparedStatement orderHistoryStatement = databaseConnection.getConnection().prepareStatement(orderHistoryQuery)) {
orderHistoryStatement.setLong(1, requestId);
try (ResultSet orderHistoryResultSet = orderHistoryStatement.executeQuery()) {
List<Order.History> orderHistoryList = new ArrayList<>();
while (orderHistoryResultSet.next()) {
orderHistoryList.add(mapResultSetToOrderHistory(orderHistoryResultSet));
}
order.setHistory(orderHistoryList);
}
}
// PREPARATION SECTION ---------------------------------
String preparationQuery = "SELECT oop.prep_int_id, oop.prep_id, oop.order_id, oop.request_id, oop.transaction_date, oop.fulfillment_system_cd, "
+ "oop.fulfillment_location_cd, oop.status, oop.date_prepartion, oop.fdate_creation "
+ "FROM obi.obi_order_prep oop "
+ "WHERE oop.request_id = ? "
+ "ORDER BY oop.prep_int_id DESC";
logger.info(preparationQuery);
try(PreparedStatement preparationStatement = databaseConnection.getConnection().prepareStatement(preparationQuery)) {
preparationStatement.setLong(1, requestId);
try(ResultSet preparationResultSet = preparationStatement.executeQuery()) {
List<Order.Preparation> preparationList = new ArrayList<>();
while(preparationResultSet.next()) {
preparationList.add(mapResultSetToPreparation(preparationResultSet));
// PREPARATION LINES SECTION ---------------------------------
String preparationLinesQuery =
"SELECT "
+ "olop.line_fulfill_id, "
+ "olop.line_order_id, "
+ "olop.prep_int_id, "
+ "olop.order_id, "
+ "olop.request_id, "
+ "olop.transaction_date, "
+ "olop.line_item_no, "
+ "olop.item_id, "
+ "olop.line_item_oms, "
+ "olop.fulfill_qty, "
+ "olop.validated_fulfill_qty, "
+ "olop.fulfillment_system_cd, "
+ "olop.fulfillment_location_cd, "
+ "olop.status, "
+ "olop.numero_expedition, "
+ "olop.season_code, "
+ "olop.finition_speciale, "
+ "olop.carrier, "
+ "olop.tracking_code, "
+ "olop.tracking_url, "
+ "olop.fdate_creation, "
+ "olop.fdate_modification, "
+ "olop.to_orlix_consumed, "
+ "null as restocking_code " //"olop.restocking_code "
+ "FROM obi.obi_ln_order_prep olop "
+ "WHERE olop.prep_int_id = ? "
+ "ORDER BY olop.line_item_oms";
logger.info(preparationLinesQuery);
try(PreparedStatement preparationLinesStatement = databaseConnection.getConnection().prepareStatement(preparationLinesQuery)) {
preparationLinesStatement.setLong(1, preparationList.get(preparationList.size() - 1).getPrepIntId());
try(ResultSet preparationLinesResultSet = preparationLinesStatement.executeQuery()) {
List<Order.Preparation.PreparationLines> preparationLinesList = new ArrayList<>();
while(preparationLinesResultSet.next()) {
preparationLinesList.add(mapResultSetToPreparationLines(preparationLinesResultSet));
}
preparationList.get(preparationList.size() - 1).setLines(preparationLinesList);
}
}
}
order.setPreparations(preparationList);
}
}
// RECEPTION SECTION ---------------------------------
String receptionQuery = "SELECT ocr.intransit_int_id, ocr.intransit_id, ocr.prep_int_id, "
+ "ocr.order_id, ocr.request_id, ocr.status, ocr.transaction_date, "
+ "ocr.intransit_system_cd, ocr.intransit_location_cd, ocr.fdate_receipt, "
+ "ocr.fdate_creation "
+ "FROM obi.obi_cr_receipt ocr "
+ "WHERE ocr.request_id = ? "
+ "ORDER BY ocr.intransit_id DESC";
logger.info(receptionQuery);
try(PreparedStatement receptionStatement = databaseConnection.getConnection().prepareStatement(receptionQuery)) {
receptionStatement.setLong(1, requestId);
try(ResultSet receptionResultSet = receptionStatement.executeQuery()) {
List<Order.Reception> receptionList = new ArrayList<>();
while(receptionResultSet.next()) {
receptionList.add(mapResultSetToReception(receptionResultSet));
// RECEPTION LINES SECTION ---------------------------------
String receptionLinesQuery = "SELECT "
+ "olcr.line_intransit_id AS line_intransit_id, "
+ "olcr.intransit_int_id AS intransit_int_id, "
+ "olcr.line_fulfill_id AS line_fulfill_id, "
+ "olcr.transaction_date AS transaction_date, "
+ "olcr.line_item_no AS line_item_no, "
+ "olcr.item_id AS item_id, "
+ "olcr.intransit_qty AS intransit_qty, "
+ "olcr.validated_intransit_qty AS validated_intransit_qty, "
+ "olcr.intransit_system_cd AS intransit_system_cd, "
+ "olcr.intransit_location_cd AS intransit_location_cd, "
+ "olcr.status AS status, "
+ "olcr.colis_id AS colis_id, "
+ "olcr.fdate_creation AS fdate_creation, "
+ "olcr.fdate_receipt AS fdate_receipt, "
+ "olcr.order_line_ship_weight AS order_line_ship_weight, "
+ "olcr.tracking_number AS tracking_number "
+ "FROM obi.obi_ln_cr_receipt olcr "
+ "WHERE olcr.intransit_int_id = ? "
+ "ORDER BY olcr.line_item_no";
logger.info(receptionLinesQuery);
try(PreparedStatement receptionLinesStatement = databaseConnection.getConnection().prepareStatement(receptionLinesQuery)) {
receptionLinesStatement.setLong(1, receptionList.get(receptionList.size() - 1).getIntransitIntId());
try(ResultSet receptionLinesResultSet = receptionLinesStatement.executeQuery()) {
List<Order.Reception.ReceptionLines> receptionLinesList = new ArrayList<>();
while(receptionLinesResultSet.next()) {
receptionLinesList.add(mapResultSetToReceptionLines(receptionLinesResultSet));
}
receptionList.get(receptionList.size() - 1).setLines(receptionLinesList);
}
}
}
order.setReceptions(receptionList);
}
}
ObjectMapper objectMapper = new ObjectMapper();
String jsonResponse = objectMapper.writeValueAsString(order);
return Response.ok(jsonResponse).build();
} else {
return Response.status(Response.Status.NOT_FOUND).entity("{\"error\":\"No order found\"}").build();
}
} catch (JsonProcessingException e) {
e.printStackTrace(); // Handle exceptions correctly in a production environment
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity("{\"error\":\"Error processing JSON\"}").build();
}
} catch (SQLException e) {
e.printStackTrace();
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity("{\"error\":\"" + e.getMessage() + "\"}").build();
}
}
}
@GET
@Path("/order/{requestId}/orderMessage")
@Produces(MediaType.APPLICATION_JSON)
public Response getOrderMessage(@PathParam("requestId") Long requestId) throws SQLException {
DriverManager.setLoginTimeout(5); // Définir le timeout à 5 secondes
try (DatabaseConnectOBI databaseConnection = new DatabaseConnectOBI()) {
String orderXmlQuery = "SELECT oo.submit_ord_msg "
+ "FROM obi_order oo "
+ "WHERE oo.request_id = ?";
logger.info(orderXmlQuery);
try (PreparedStatement statement = databaseConnection.getConnection().prepareStatement(orderXmlQuery)) {
statement.setLong(1, requestId);
try (ResultSet resultSet = statement.executeQuery()) {
if (resultSet.next()) {
String xmlString = resultSet.getString("SUBMIT_ORD_MSG");
JSONObject jsonObject = XML.toJSONObject(xmlString);
ObjectMapper objectMapper = new ObjectMapper();
JsonNode jsonNode = objectMapper.readTree(jsonObject.toString());
return Response.ok(jsonNode).build();
} else {
return Response.status(Response.Status.NOT_FOUND).entity("{\"error\":\"No transaction found with the provided ID\"}").build();
}
} catch (SQLException e) {
e.printStackTrace();
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity("{\"error\":\"" + e.getMessage() + "\"}").build();
}
} catch (SQLException e) {
e.printStackTrace();
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity("{\"error\":\"" + e.getMessage() + "\"}").build();
}
} catch (JsonProcessingException e) {
e.printStackTrace(); // Handle exceptions correctly in a production environment
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity("{\"error\":\"Error processing JSON\"}").build();
}
}
private Order.Preparation.PreparationLines mapResultSetToPreparationLines(ResultSet resultSet) throws SQLException {
Order.Preparation.PreparationLines preparationLines = new Order().new Preparation().new PreparationLines();
preparationLines.setLineFulfillId(resultSet.getInt("LINE_FULFILL_ID"));
preparationLines.setLineOrderId(resultSet.getInt("LINE_ORDER_ID"));
preparationLines.setPrepIntId(resultSet.getInt("PREP_INT_ID"));
preparationLines.setOrderId(resultSet.getString("ORDER_ID"));
preparationLines.setRequestId(resultSet.getLong("REQUEST_ID"));
preparationLines.setTransactionDate(resultSet.getTimestamp("TRANSACTION_DATE"));
preparationLines.setLineItemNo(resultSet.getInt("LINE_ITEM_NO"));
preparationLines.setItemId(resultSet.getString("ITEM_ID"));
preparationLines.setLineItemOms(resultSet.getString("LINE_ITEM_OMS"));
preparationLines.setFulfillQty(resultSet.getInt("FULFILL_QTY"));
preparationLines.setValidatedFulfillQty(resultSet.getInt("VALIDATED_FULFILL_QTY"));
preparationLines.setFulfillmentSystemCd(resultSet.getString("FULFILLMENT_SYSTEM_CD"));
preparationLines.setFulfillmentLocationCd(resultSet.getString("FULFILLMENT_LOCATION_CD"));
preparationLines.setStatus(resultSet.getString("STATUS"));
preparationLines.setNumeroExpedition(resultSet.getString("NUMERO_EXPEDITION"));
preparationLines.setSeasonCode(resultSet.getString("SEASON_CODE"));
preparationLines.setFinitionSpeciale(resultSet.getString("FINITION_SPECIALE"));
preparationLines.setCarrier(resultSet.getString("CARRIER"));
preparationLines.setTrackingCode(resultSet.getString("TRACKING_CODE"));
preparationLines.setTrackingUrl(resultSet.getString("TRACKING_URL"));
preparationLines.setFdateCreation(resultSet.getTimestamp("FDATE_CREATION"));
preparationLines.setFdateModification(resultSet.getTimestamp("FDATE_MODIFICATION"));
preparationLines.setToOrlixConsumed(resultSet.getBoolean("TO_ORLIX_CONSUMED"));
preparationLines.setRestockingCode(resultSet.getString("RESTOCKING_CODE"));
return preparationLines;
}
private Order.Preparation mapResultSetToPreparation(ResultSet resultSet) throws SQLException {
Order.Preparation preparation = new Order().new Preparation();
preparation.setPrepIntId(resultSet.getInt("PREP_INT_ID"));
preparation.setPrepId(resultSet.getInt("PREP_ID"));
preparation.setOrderId(resultSet.getString("ORDER_ID"));
preparation.setRequestId(resultSet.getLong("REQUEST_ID"));
preparation.setTransactionDate(resultSet.getTimestamp("TRANSACTION_DATE"));
preparation.setFulfillmentSystemCd(resultSet.getString("FULFILLMENT_SYSTEM_CD"));
preparation.setFulfillmentLocationCd(resultSet.getString("FULFILLMENT_LOCATION_CD"));
preparation.setStatus(resultSet.getString("STATUS"));
preparation.setDatePreparation(resultSet.getTimestamp("DATE_PREPARTION"));
preparation.setFdateCreation(resultSet.getTimestamp("FDATE_CREATION"));
return preparation;
}
private Order.Reception.ReceptionLines mapResultSetToReceptionLines(ResultSet resultSet) throws SQLException {
Order.Reception.ReceptionLines receptionLines = new Order().new Reception().new ReceptionLines();
receptionLines.setLineIntransitId(resultSet.getInt("LINE_INTRANSIT_ID"));
receptionLines.setIntransitIntId(resultSet.getInt("INTRANSIT_INT_ID"));
receptionLines.setLineFulfillId(resultSet.getInt("LINE_FULFILL_ID"));
receptionLines.setTransactionDate(resultSet.getTimestamp("TRANSACTION_DATE"));
receptionLines.setLineItemNo(resultSet.getInt("LINE_ITEM_NO"));
receptionLines.setItemId(resultSet.getString("ITEM_ID"));
receptionLines.setIntransitQty(resultSet.getInt("INTRANSIT_QTY"));
receptionLines.setValidatedIntransitQty(resultSet.getInt("VALIDATED_INTRANSIT_QTY"));
receptionLines.setIntransitSystemCd(resultSet.getString("INTRANSIT_SYSTEM_CD"));
receptionLines.setIntransitLocationCd(resultSet.getString("INTRANSIT_LOCATION_CD"));
receptionLines.setStatus(resultSet.getString("STATUS"));
receptionLines.setColisId(resultSet.getString("COLIS_ID"));
receptionLines.setFdateCreation(resultSet.getTimestamp("FDATE_CREATION"));
receptionLines.setFdateReceipt(resultSet.getTimestamp("FDATE_RECEIPT"));
receptionLines.setOrderLineShipWeight(resultSet.getDouble("ORDER_LINE_SHIP_WEIGHT"));
receptionLines.setTrackingNumber(resultSet.getString("TRACKING_NUMBER"));
return receptionLines;
}
private Order.Reception mapResultSetToReception(ResultSet resultSet) throws SQLException {
Order.Reception reception = new Order().new Reception();
reception.setIntransitIntId(resultSet.getInt("INTRANSIT_INT_ID"));
reception.setIntransitId(resultSet.getString("INTRANSIT_ID"));
reception.setPrepIntId(resultSet.getInt("PREP_INT_ID"));
reception.setOrderId(resultSet.getString("ORDER_ID"));
reception.setRequestId(resultSet.getLong("REQUEST_ID"));
reception.setStatus(resultSet.getString("STATUS"));
reception.setTransactionDate(resultSet.getTimestamp("TRANSACTION_DATE"));
reception.setIntransitSystemCd(resultSet.getString("INTRANSIT_SYSTEM_CD"));
reception.setIntransitLocationCd(resultSet.getString("INTRANSIT_LOCATION_CD"));
reception.setFdateReceipt(resultSet.getTimestamp("FDATE_RECEIPT"));
reception.setFdateCreation(resultSet.getTimestamp("FDATE_CREATION"));
return reception;
}
private Order.History mapResultSetToOrderLinesHistory(ResultSet resultSet) throws SQLException {
Order.History orderLinesHistory = new Order().new History();
orderLinesHistory.setStatusId(resultSet.getInt("STATUS_ID"));
orderLinesHistory.setId(resultSet.getLong("LINE_ORDER_ID"));
orderLinesHistory.setStatus(resultSet.getString("STATUS"));
orderLinesHistory.setTransactionDate(resultSet.getTimestamp("TRANSACTION_DATE"));
orderLinesHistory.setFdateCreation(resultSet.getTimestamp("FDATE_CREATION"));
return orderLinesHistory;
}
private Order.History mapResultSetToOrderHistory(ResultSet resultSet) throws SQLException {
Order.History orderHistory = new Order().new History();
orderHistory.setStatusId(resultSet.getInt("STATUS_ID"));
orderHistory.setId(resultSet.getLong("REQUEST_ID"));
orderHistory.setStatus(resultSet.getString("STATUS"));
orderHistory.setTransactionDate(resultSet.getTimestamp("TRANSACTION_DATE"));
orderHistory.setFdateCreation(resultSet.getTimestamp("FDATE_CREATION"));
return orderHistory;
}
private Order.Lines mapResultSetToOrderLine(ResultSet resultSet) throws SQLException {
Order.Lines orderLine = new Order().new Lines();
orderLine.setLineOrderId(resultSet.getLong("LINE_ORDER_ID"));
orderLine.setLineItemNo(resultSet.getInt("LINE_ITEM_NO"));
orderLine.setLineItemOms(resultSet.getString("LINE_ITEM_OMS"));
orderLine.setItemId(resultSet.getString("ITEM_ID"));
orderLine.setOrderedLineQty(resultSet.getInt("ORDERED_LINE_QTY"));
orderLine.setStatus(resultSet.getString("STATUS"));
orderLine.setTransactionDate(resultSet.getTimestamp("TRANSACTION_DATE"));
orderLine.setShippingAgent(resultSet.getString("SHIPPING_AGENT"));
orderLine.setTrackingNumber(resultSet.getString("TRACKING_NUMBER"));
orderLine.setFulfillmentId(resultSet.getString("FULFILLMENT_ID"));
orderLine.setCartonNumber(resultSet.getString("CARTON_NUMBER"));
orderLine.setFdateCreation(resultSet.getTimestamp("FDATE_CREATION"));
orderLine.setConsumed(resultSet.getBoolean("CONSUMED"));
return orderLine;
}
private Order mapResultSetToOrderList(ResultSet resultSet) throws SQLException {
Order order = new Order();
Order.Meta meta = new Order.Meta();
Order.Common common = order.new Common();
Order.Common.StatusData statusData = common.new StatusData();
Order.Common.Transaction transaction = common.new Transaction();
meta.setId(resultSet.getLong("REQUEST_ID"));
order.setMeta(meta);
statusData.setCode(resultSet.getString("STATUS"));
statusData.setTitle("TEST"); // TODO A VOIR
common.setOrderId(resultSet.getString("ORDER_ID"));
transaction.setTransactionDate(resultSet.getTimestamp("TRANSACTION_DATE"));
transaction.setTransactionTypeDescription(resultSet.getString("TRANSACTION_TYPE_DESCRIPTION"));
common.setStatusData(statusData);
common.setTransaction(transaction);
order.setMeta(meta);
order.setCommon(common);
return order;
}
private Order mapResultSetToOrder(ResultSet resultSet) throws SQLException {
Order order = new Order();
Order.Meta meta = new Order.Meta();
Order.Common common = order.new Common();
Order.Common.StatusData statusData = common.new StatusData();
Order.Common.Transaction transaction = common.new Transaction();
meta.setId(resultSet.getLong("REQUEST_ID"));
order.setMeta(meta);
statusData.setCode(resultSet.getString("STATUS"));
statusData.setTitle("TEST"); // TODO A VOIR
common.setOrderId(resultSet.getString("ORDER_ID"));
common.setRequestingLocationCd(resultSet.getString("REQUESTING_LOCATION_CD"));
common.setRequestingSystemCd(resultSet.getString("REQUESTING_SYSTEM_CD"));
common.setCustomerId(resultSet.getString("CUSTOMER_ID"));
common.setFdateCreation(resultSet.getTimestamp("FDATE_CREATION"));
common.setConsumed(resultSet.getBoolean("CONSUMED"));
common.setShipforpickupLocationCd(resultSet.getString("SHIPFORPICKUP_LOCATION_CD"));
common.setShipforpickupSystemCd(resultSet.getString("SHIPFORPICKUP_SYSTEM_CD"));
transaction.setTransactionNo(resultSet.getString("TRANSACTION_NO"));
transaction.setTransactionTypeId(resultSet.getInt("TRANSACTION_TYPE_ID"));
transaction.setTransactionDate(resultSet.getTimestamp("TRANSACTION_DATE"));
transaction.setTransactionTypeDescription(resultSet.getString("TRANSACTION_TYPE_DESCRIPTION"));
common.setStatusData(statusData);
common.setTransaction(transaction);
order.setMeta(meta);
order.setCommon(common);
return order;
}
}