From 0065ac650c13621996f81245a16be2c5631417a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9rik=20BENOIST?= Date: Mon, 15 Jan 2024 00:23:23 +0100 Subject: [PATCH] feat: Order preparation and reception --- .../com/example/services/OrderService.java | 282 +++++++++++++++-- .../com/example/services/order/Order.java | 285 +++++++++++++++++- src/main/resources/env.properties | 2 +- 3 files changed, 537 insertions(+), 32 deletions(-) diff --git a/src/main/java/com/example/services/OrderService.java b/src/main/java/com/example/services/OrderService.java index b3ca503..8b6dc5a 100644 --- a/src/main/java/com/example/services/OrderService.java +++ b/src/main/java/com/example/services/OrderService.java @@ -116,7 +116,7 @@ public class OrderService { String errorResponse = "{\"error\":\"" + e.getMessage() + "\"}"; return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(errorResponse).build(); } -} + } @GET @Path("/order/{requestId}") @@ -126,6 +126,7 @@ public class OrderService { 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, " @@ -143,6 +144,7 @@ public class OrderService { 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 " @@ -185,36 +187,167 @@ public class OrderService { order.setLines(orderLinesList); } - - 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 orderHistoryList = new ArrayList<>(); - - while (orderHistoryResultSet.next()) { - orderHistoryList.add(mapResultSetToOrderHistory(orderHistoryResultSet)); - } - - order.setHistory(orderHistoryList); - } - } - - ObjectMapper objectMapper = new ObjectMapper(); - String jsonResponse = objectMapper.writeValueAsString(order); - - return Response.ok(jsonResponse).build(); - } catch (SQLException e) { - e.printStackTrace(); - return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity("{\"error\":\"" + e.getMessage() + "\"}").build(); } + + // 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 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 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 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 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 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(); } @@ -271,6 +404,95 @@ public class OrderService { } } + 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(); diff --git a/src/main/java/com/example/services/order/Order.java b/src/main/java/com/example/services/order/Order.java index 7887414..4ed6fb1 100644 --- a/src/main/java/com/example/services/order/Order.java +++ b/src/main/java/com/example/services/order/Order.java @@ -10,6 +10,8 @@ public class Order { private Common common; private List lines = new ArrayList<>(); private List history = new ArrayList<>(); + private List preparations = new ArrayList<>(); + private List receptions = new ArrayList<>(); // getters and setters for Order public Meta getMeta() { return meta; } @@ -20,6 +22,10 @@ public class Order { public void setLines(List lines) { this.lines = lines; } public List getHistory() { return history; } public void setHistory(List history) { this.history = history; } + public List getPreparations() { return preparations; } + public void setPreparations(List preparation) { this.preparations = preparation; } + public List getReceptions() { return receptions; } + public void setReceptions(List reception) { this.receptions = reception; } public static class Meta { private long id; @@ -99,7 +105,6 @@ public class Order { public void setStatusData(StatusData statusData) { this.statusData = statusData; } public class Transaction { - private Integer transactionTypeId; private Timestamp transactionDate; private String transactionNo; @@ -216,4 +221,282 @@ public class Order { public void setTransactionDate(Timestamp transactionDate) { this.transactionDate = transactionDate; } public void setFdateCreation(Timestamp fdateCreation) { this.fdateCreation = fdateCreation; } } + + public class Preparation { + private Integer prepIntId; + private Integer prepId; + private String orderId; + private Long requestId; + private Timestamp transactionDate; + private String fulfillmentSystemCd; + private String fulfillmentLocationCd; + private String status; + private Timestamp datePreparation; + private Timestamp fdateCreation; + private List lines = new ArrayList<>(); + + public List getLines() { return lines; } + public void setLines(List lines) { this.lines = lines; } + + // Getters + public Integer getPrepIntId() { return prepIntId; } + public Integer getPrepId() { return prepId; } + public String getOrderId() { return orderId; } + public Long getRequestId() { return requestId; } + public String getTransactionDate() { + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ssXXX") + .withZone(ZoneId.of("Europe/Paris")); + + return transactionDate != null ? formatter.format(transactionDate.toInstant()) : ""; + } + public String getFulfillmentSystemCd() { return fulfillmentSystemCd; } + public String getFulfillmentLocationCd() { return fulfillmentLocationCd; } + public String getStatus() { return status; } + public String getDatePreparation() { + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ssXXX") + .withZone(ZoneId.of("Europe/Paris")); + + return datePreparation != null ? formatter.format(datePreparation.toInstant()) : ""; + } + public String getFdateCreation() { + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ssXXX") + .withZone(ZoneId.of("Europe/Paris")); + + return fdateCreation != null ? formatter.format(fdateCreation.toInstant()) : ""; + } + + // Setters + public void setPrepIntId(Integer prepIntId) { this.prepIntId = prepIntId; } + public void setPrepId(Integer prepId) { this.prepId = prepId; } + public void setOrderId(String orderId) { this.orderId = orderId; } + public void setRequestId(Long requestId) { this.requestId = requestId; } + public void setTransactionDate(Timestamp transactionDate) { this.transactionDate = transactionDate; } + public void setFulfillmentSystemCd(String fulfillmentSystemCd) { this.fulfillmentSystemCd = fulfillmentSystemCd; } + public void setFulfillmentLocationCd(String fulfillmentLocationCd) { this.fulfillmentLocationCd = fulfillmentLocationCd; } + public void setStatus(String status) { this.status = status; } + public void setDatePreparation(Timestamp datePreparation) { this.datePreparation = datePreparation; } + public void setFdateCreation(Timestamp fdateCreation) { this.fdateCreation = fdateCreation; } + + public class PreparationLines { + private Integer lineFulfillId; + private Integer lineOrderId; + private Integer prepIntId; + private String orderId; + private Long requestId; + private Timestamp transactionDate; + private Integer lineItemNo; + private String itemId; + private String lineItemOms; + private Integer fulfillQty; + private Integer validatedFulfillQty; + private String fulfillmentSystemCd; + private String fulfillmentLocationCd; + private String status; + private String numeroExpedition; + private String seasonCode; + private String finitionSpeciale; + private String carrier; + private String trackingCode; + private String trackingUrl; + private Timestamp fdateCreation; + private Timestamp fdateModification; + private Boolean toOrlixConsumed; + private String restockingCode; + + // Getters + public Integer getLineFulfillId() { return lineFulfillId; } + public Integer getLineOrderId() { return lineOrderId; } + public Integer getPrepIntId() { return prepIntId; } + public String getOrderId() { return orderId; } + public Long getRequestId() { return requestId; } + + public String getTransactionDate() { + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ssXXX") + .withZone(ZoneId.of("Europe/Paris")); + return transactionDate != null ? formatter.format(transactionDate.toInstant()) : ""; + } + + public Integer getLineItemNo() { return lineItemNo; } + public String getItemId() { return itemId; } + public String getLineItemOms() { return lineItemOms; } + public Integer getFulfillQty() { return fulfillQty; } + public Integer getValidatedFulfillQty() { return validatedFulfillQty; } + public String getFulfillmentSystemCd() { return fulfillmentSystemCd; } + public String getFulfillmentLocationCd() { return fulfillmentLocationCd; } + public String getStatus() { return status; } + public String getNumeroExpedition() { return numeroExpedition; } + public String getSeasonCode() { return seasonCode; } + public String getFinitionSpeciale() { return finitionSpeciale; } + public String getCarrier() { return carrier; } + public String getTrackingCode() { return trackingCode; } + public String getTrackingUrl() { return trackingUrl; } + + public String getFdateCreation() { + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ssXXX") + .withZone(ZoneId.of("Europe/Paris")); + return fdateCreation != null ? formatter.format(fdateCreation.toInstant()) : ""; + } + + public String getFdateModification() { + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ssXXX") + .withZone(ZoneId.of("Europe/Paris")); + return fdateModification != null ? formatter.format(fdateModification.toInstant()) : ""; + } + + public Boolean getToOrlixConsumed() { return toOrlixConsumed; } + public String getRestockingCode() { return restockingCode; } + + // Setters + public void setLineFulfillId(Integer lineFulfillId) { this.lineFulfillId = lineFulfillId; } + public void setLineOrderId(Integer lineOrderId) { this.lineOrderId = lineOrderId; } + public void setPrepIntId(Integer prepIntId) { this.prepIntId = prepIntId; } + public void setOrderId(String orderId) { this.orderId = orderId; } + public void setRequestId(Long requestId) { this.requestId = requestId; } + public void setTransactionDate(Timestamp transactionDate) { this.transactionDate = transactionDate; } + public void setLineItemNo(Integer lineItemNo) { this.lineItemNo = lineItemNo; } + public void setItemId(String itemId) { this.itemId = itemId; } + public void setLineItemOms(String lineItemOms) { this.lineItemOms = lineItemOms; } + public void setFulfillQty(Integer fulfillQty) { this.fulfillQty = fulfillQty; } + public void setValidatedFulfillQty(Integer validatedFulfillQty) { this.validatedFulfillQty = validatedFulfillQty; } + public void setFulfillmentSystemCd(String fulfillmentSystemCd) { this.fulfillmentSystemCd = fulfillmentSystemCd; } + public void setFulfillmentLocationCd(String fulfillmentLocationCd) { this.fulfillmentLocationCd = fulfillmentLocationCd; } + public void setStatus(String status) { this.status = status; } + public void setNumeroExpedition(String numeroExpedition) { this.numeroExpedition = numeroExpedition; } + public void setSeasonCode(String seasonCode) { this.seasonCode = seasonCode; } + public void setFinitionSpeciale(String finitionSpeciale) { this.finitionSpeciale = finitionSpeciale; } + public void setCarrier(String carrier) { this.carrier = carrier; } + public void setTrackingCode(String trackingCode) { this.trackingCode = trackingCode; } + public void setTrackingUrl(String trackingUrl) { this.trackingUrl = trackingUrl; } + public void setFdateCreation(Timestamp fdateCreation) { this.fdateCreation = fdateCreation; } + public void setFdateModification(Timestamp fdateModification) { this.fdateModification = fdateModification; } + public void setToOrlixConsumed(Boolean toOrlixConsumed) { this.toOrlixConsumed = toOrlixConsumed; } + public void setRestockingCode(String restockingCode) { this.restockingCode = restockingCode; } + } + } + + public class Reception { + private int intransitIntId; + private String intransitId; + private int prepIntId; + private String orderId; + private long requestId; + private String status; + private Timestamp transactionDate; + private String intransitSystemCd; + private String intransitLocationCd; + private Timestamp fdateReceipt; + private Timestamp fdateCreation; + private List lines = new ArrayList<>(); + + public List getLines() { return lines; } + public void setLines(List lines) { this.lines = lines; } + + // Getters + public int getIntransitIntId() { return intransitIntId; } + public String getIntransitId() { return intransitId; } + public int getPrepIntId() { return prepIntId; } + public String getOrderId() { return orderId; } + public long getRequestId() { return requestId; } + public String getStatus() { return status; } + public String getTransactionDate() { + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ssXXX") + .withZone(ZoneId.of("Europe/Paris")); + + return fdateCreation != null ? formatter.format(transactionDate.toInstant()) : ""; + } + public String getIntransitSystemCd() { return intransitSystemCd; } + public String getIntransitLocationCd() { return intransitLocationCd; } + public String getFdateReceipt() { + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ssXXX") + .withZone(ZoneId.of("Europe/Paris")); + + return fdateReceipt != null ? formatter.format(fdateReceipt.toInstant()) : ""; + } + public String getFdateCreation() { + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ssXXX") + .withZone(ZoneId.of("Europe/Paris")); + + return fdateCreation != null ? formatter.format(fdateCreation.toInstant()) : ""; + } + + // Setters + public void setIntransitIntId(int intransitIntId) { this.intransitIntId = intransitIntId; } + public void setIntransitId(String intransitId) { this.intransitId = intransitId; } + public void setPrepIntId(int prepIntId) { this.prepIntId = prepIntId; } + public void setOrderId(String orderId) { this.orderId = orderId; } + public void setRequestId(long requestId) { this.requestId = requestId; } + public void setStatus(String status) { this.status = status; } + public void setTransactionDate(Timestamp transactionDate) { this.transactionDate = transactionDate; } + public void setIntransitSystemCd(String intransitSystemCd) { this.intransitSystemCd = intransitSystemCd; } + public void setIntransitLocationCd(String intransitLocationCd) { this.intransitLocationCd = intransitLocationCd; } + public void setFdateReceipt(Timestamp fdateReceipt) { this.fdateReceipt = fdateReceipt; } + public void setFdateCreation(Timestamp fdateCreation) { this.fdateCreation = fdateCreation; } + + public class ReceptionLines { + private int lineIntransitId; + private int intransitIntId; + private int lineFulfillId; + private Timestamp transactionDate; + private int lineItemNo; + private String itemId; + private int intransitQty; + private int validatedIntransitQty; + private String intransitSystemCd; + private String intransitLocationCd; + private String status; + private String colisId; + private Timestamp fdateCreation; + private Timestamp fdateReceipt; + private Double orderLineShipWeight; + private String trackingNumber; + + // Getters + public int getLineIntransitId() { return lineIntransitId; } + public int getIntransitIntId() { return intransitIntId; } + public int getLineFulfillId() { return lineFulfillId; } + public String getTransactionDate() { + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ssXXX") + .withZone(ZoneId.of("Europe/Paris")); + return transactionDate != null ? formatter.format(transactionDate.toInstant()) : ""; + } + public int getLineItemNo() { return lineItemNo; } + public String getItemId() { return itemId; } + public int getIntransitQty() { return intransitQty; } + public int getValidatedIntransitQty() { return validatedIntransitQty; } + public String getIntransitSystemCd() { return intransitSystemCd; } + public String getIntransitLocationCd() { return intransitLocationCd; } + public String getStatus() { return status; } + public String getColisId() { return colisId; } + public String getFdateCreation() { + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ssXXX") + .withZone(ZoneId.of("Europe/Paris")); + return fdateCreation != null ? formatter.format(fdateCreation.toInstant()) : ""; + } + public String getFdateReceipt() { + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ssXXX") + .withZone(ZoneId.of("Europe/Paris")); + return fdateReceipt != null ? formatter.format(fdateReceipt.toInstant()) : ""; + } + public Double getOrderLineShipWeight() { return orderLineShipWeight; } + public String getTrackingNumber() { return trackingNumber; } + + // Setters + public void setLineIntransitId(int lineIntransitId) { this.lineIntransitId = lineIntransitId; } + public void setIntransitIntId(int intransitIntId) { this.intransitIntId = intransitIntId; } + public void setLineFulfillId(int lineFulfillId) { this.lineFulfillId = lineFulfillId; } + public void setTransactionDate(Timestamp transactionDate) { this.transactionDate = transactionDate; } + public void setLineItemNo(int lineItemNo) { this.lineItemNo = lineItemNo; } + public void setItemId(String itemId) { this.itemId = itemId; } + public void setIntransitQty(int intransitQty) { this.intransitQty = intransitQty; } + public void setValidatedIntransitQty(int validatedIntransitQty) { this.validatedIntransitQty = validatedIntransitQty; } + public void setIntransitSystemCd(String intransitSystemCd) { this.intransitSystemCd = intransitSystemCd; } + public void setIntransitLocationCd(String intransitLocationCd) { this.intransitLocationCd = intransitLocationCd; } + public void setStatus(String status) { this.status = status; } + public void setColisId(String colisId) { this.colisId = colisId; } + public void setFdateCreation(Timestamp fdateCreation) { this.fdateCreation = fdateCreation; } + public void setFdateReceipt(Timestamp fdateReceipt) { this.fdateReceipt = fdateReceipt; } + public void setOrderLineShipWeight(Double orderLineShipWeight) { this.orderLineShipWeight = orderLineShipWeight; } + public void setTrackingNumber(String trackingNumber) { this.trackingNumber = trackingNumber; } + } + } } diff --git a/src/main/resources/env.properties b/src/main/resources/env.properties index 40b8a7c..e30e658 100644 --- a/src/main/resources/env.properties +++ b/src/main/resources/env.properties @@ -1,2 +1,2 @@ # Indicates the current environment (dev, preprod, prod, etc.). -environment=preprod \ No newline at end of file +environment=prod \ No newline at end of file