feat : store details

pull/5/head
Frédérik Benoist 2023-11-21 00:35:09 +01:00
parent 3569639644
commit 04c854af2f
13 changed files with 994 additions and 376 deletions

View File

@ -1,5 +1,10 @@
package com.example.services;
import com.example.services.item.Item;
import com.example.services.item.ItemDetails;
import com.example.services.item.ItemOption;
import com.example.services.item.ItemPrices;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
@ -14,12 +19,16 @@ import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.List;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@Path("/items")
public class ItemService {
private static final Logger logger = LoggerFactory.getLogger(DatabaseConnectDOTSOFT.class);
@GET
@Path("/get")
@ -39,10 +48,10 @@ public class ItemService {
DriverManager.setLoginTimeout(5); // Définir le timeout à 5 secondes
try (DatabaseConnectXSTORE databaseConnection = new DatabaseConnectXSTORE(dbHost, "dtv")) {
String query = "SELECT * FROM ITM_ITEM WHERE ITEM_ID LIKE ?" ;
String query = "SELECT * FROM dtv.ITM_ITEM WHERE ORGANIZATION_ID = 1 AND ITEM_ID LIKE ?";
try (PreparedStatement statement = databaseConnection.getConnection().prepareStatement(query)) {
// Concaténer % au paramètre itemId
// Concatenate % to parameter itemId
statement.setString(1, itemId + "%");
try (ResultSet resultSet = statement.executeQuery()) {
@ -99,287 +108,190 @@ public class ItemService {
item.setDimension2(resultSet.getString("DIMENSION2"));
item.setDimension3(resultSet.getString("DIMENSION3"));
item.setExternalSystem(resultSet.getString("EXTERNAL_SYSTEM"));
item.setCreateDate(resultSet.getTimestamp("CREATE_DATE"));
item.setCreateDate(resultSet.getDate("CREATE_DATE"));
item.setCreateUserId(resultSet.getString("CREATE_USER_ID"));
item.setUpdateDate(resultSet.getTimestamp("UPDATE_DATE"));
item.setUpdateDate(resultSet.getDate("UPDATE_DATE"));
item.setUpdateUserId(resultSet.getString("UPDATE_USER_ID"));
item.setRecordState(resultSet.getString("RECORD_STATE"));
return item;
}
public class Item {
private Long organizationId;
private String itemId;
private String orgCode;
private String orgValue;
private String name;
private String description;
private String merchLevel1;
private String merchLevel2;
private String merchLevel3;
private String merchLevel4;
private Integer listPrice;
private Integer measureReqFlag;
private String itemLevelCode;
private String parentItemId;
private Integer notInventoriedFlag;
private Integer serializedItemFlag;
private String itemTypeCode;
private String dtvClassName;
private String dimensionSystem;
private Integer disallowMatrixDisplayFlag;
private String itemMatrixColor;
private String dimension1;
private String dimension2;
private String dimension3;
private String externalSystem;
private Timestamp createDate;
private String createUserId;
private Timestamp updateDate;
private String updateUserId;
private String recordState;
// Getters and Setters for all fields
public Long getOrganizationId() {
return organizationId;
@GET
@Path("/getItemDetails")
@Produces(MediaType.APPLICATION_JSON)
public Response getItemDetails(
@QueryParam("dbHost") String dbHost,
@QueryParam("itemId") String itemId) {
if (dbHost == null) {
return Response.status(Response.Status.BAD_REQUEST).entity("{\"error\":\"dbHost parameter is required\"}").build();
}
if (itemId == null) {
return Response.status(Response.Status.BAD_REQUEST).entity("{\"error\":\"itemId parameter is required\"}").build();
}
public void setOrganizationId(Long organizationId) {
this.organizationId = organizationId;
}
try {
ItemDetails itemDetails = retrieveItemDetails(dbHost,itemId);
public String getItemId() {
return itemId;
}
public void setItemId(String itemId) {
this.itemId = itemId;
}
public String getOrgCode() {
return orgCode;
}
public void setOrgCode(String orgCode) {
this.orgCode = orgCode;
}
public String getOrgValue() {
return orgValue;
}
public void setOrgValue(String orgValue) {
this.orgValue = orgValue;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public String getMerchLevel1() {
return merchLevel1;
}
public void setMerchLevel1(String merchLevel1) {
this.merchLevel1 = merchLevel1;
}
public String getMerchLevel2() {
return merchLevel2;
}
public void setMerchLevel2(String merchLevel2) {
this.merchLevel2 = merchLevel2;
}
public String getMerchLevel3() {
return merchLevel3;
}
public void setMerchLevel3(String merchLevel3) {
this.merchLevel3 = merchLevel3;
}
public String getMerchLevel4() {
return merchLevel4;
}
public void setMerchLevel4(String merchLevel4) {
this.merchLevel4 = merchLevel4;
}
public Integer getListPrice() {
return listPrice;
}
public void setListPrice(Integer listPrice) {
this.listPrice = listPrice;
}
public Integer getMeasureReqFlag() {
return measureReqFlag;
}
public void setMeasureReqFlag(Integer measureReqFlag) {
this.measureReqFlag = measureReqFlag;
}
public String getItemLevelCode() {
return itemLevelCode;
}
public void setItemLevelCode(String itemLevelCode) {
this.itemLevelCode = itemLevelCode;
}
public String getParentItemId() {
return parentItemId;
}
public void setParentItemId(String parentItemId) {
this.parentItemId = parentItemId;
}
public Integer getNotInventoriedFlag() {
return notInventoriedFlag;
}
public void setNotInventoriedFlag(Integer notInventoriedFlag) {
this.notInventoriedFlag = notInventoriedFlag;
}
public Integer getSerializedItemFlag() {
return serializedItemFlag;
}
public void setSerializedItemFlag(Integer serializedItemFlag) {
this.serializedItemFlag = serializedItemFlag;
}
public String getItemTypeCode() {
return itemTypeCode;
}
public void setItemTypeCode(String itemTypeCode) {
this.itemTypeCode = itemTypeCode;
}
public String getDtvClassName() {
return dtvClassName;
}
public void setDtvClassName(String dtvClassName) {
this.dtvClassName = dtvClassName;
}
public String getDimensionSystem() {
return dimensionSystem;
}
public void setDimensionSystem(String dimensionSystem) {
this.dimensionSystem = dimensionSystem;
}
public Integer getDisallowMatrixDisplayFlag() {
return disallowMatrixDisplayFlag;
}
public void setDisallowMatrixDisplayFlag(Integer disallowMatrixDisplayFlag) {
this.disallowMatrixDisplayFlag = disallowMatrixDisplayFlag;
}
public String getItemMatrixColor() {
return itemMatrixColor;
}
public void setItemMatrixColor(String itemMatrixColor) {
this.itemMatrixColor = itemMatrixColor;
}
public String getDimension1() {
return dimension1;
}
public void setDimension1(String dimension1) {
this.dimension1 = dimension1;
}
public String getDimension2() {
return dimension2;
}
public void setDimension2(String dimension2) {
this.dimension2 = dimension2;
}
public String getDimension3() {
return dimension3;
}
public void setDimension3(String dimension3) {
this.dimension3 = dimension3;
}
public String getExternalSystem() {
return externalSystem;
}
public void setExternalSystem(String externalSystem) {
this.externalSystem = externalSystem;
}
public Timestamp getCreateDate() {
return createDate;
}
public void setCreateDate(Timestamp createDate) {
this.createDate = createDate;
}
public String getCreateUserId() {
return createUserId;
}
public void setCreateUserId(String createUserId) {
this.createUserId = createUserId;
}
public Timestamp getUpdateDate() {
return updateDate;
}
public void setUpdateDate(Timestamp updateDate) {
this.updateDate = updateDate;
}
public String getUpdateUserId() {
return updateUserId;
}
public void setUpdateUserId(String updateUserId) {
this.updateUserId = updateUserId;
}
public String getRecordState() {
return recordState;
}
public void setRecordState(String recordState) {
this.recordState = recordState;
if (itemDetails != null) {
ObjectMapper objectMapper = new ObjectMapper();
try {
String jsonResponse = objectMapper.writeValueAsString(itemDetails);
return Response.ok(jsonResponse).build();
} catch (JsonProcessingException e) {
e.printStackTrace();
return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
.entity("{\"error\":\"Error converting ItemDetails to JSON\"}")
.build();
}
} else {
return Response.status(Response.Status.NOT_FOUND).entity("{\"error\":\"Item details not found\"}").build();
}
} catch (RuntimeException e) {
// Capture the RuntimeException to manage SQL errors
e.printStackTrace();
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity("{\"error\":\"" + e.getMessage() + "\"}").build();
}
}
}
/**
* Retrieves itemDetails from the database.
*
* @return a list of items retrieved from the database
*/
private ItemDetails retrieveItemDetails(String dbHost, String itemId) {
DriverManager.setLoginTimeout(5);
ItemDetails itemDetails = new ItemDetails(); // Declare object outside try blocks
List<Item> itemList = new ArrayList<>();
List<ItemOption> itemOptionList = new ArrayList<>();
List<ItemPrices> itemPricesList = new ArrayList<>();
try (DatabaseConnectXSTORE databaseConnection = new DatabaseConnectXSTORE(dbHost,"dtv")) {
// Item section
String itemQuery = "SELECT item_id,item_lvlcode,parent_item_id,item_typcode,create_date,create_user_id,update_date,update_user_id " +
"FROM dtv.itm_item " +
"WHERE organization_id = 1 AND item_id LIKE ?";
logger.info(itemQuery);
try (PreparedStatement itemStatement = databaseConnection.getConnection().prepareStatement(itemQuery)) {
// Concatenate % to parameter itemId
itemStatement.setString(1, itemId + "%");
try (ResultSet itemResultSet = itemStatement.executeQuery()) {
while (itemResultSet.next()) {
Item item = mapResultSetToItemDetails(itemResultSet);
itemList.add(item);
}
itemDetails.setItems(itemList);
}
}
// item option section
String itemOptionQuery = "SELECT item_id,level_code,level_value,item_availability_code,tax_group_id,Vendor,season_code,create_date,create_user_id,update_date,update_user_id " +
"FROM dtv.itm_item_options " +
"WHERE organization_id = 1 AND item_id LIKE ?";
logger.info(itemOptionQuery);
try (PreparedStatement itemOptionStatement = databaseConnection.getConnection().prepareStatement(itemOptionQuery)) {
// Concatenate % to parameter itemId
itemOptionStatement.setString(1, itemId + "%");
try (ResultSet itemOptionResultSet = itemOptionStatement.executeQuery()) {
while (itemOptionResultSet.next()) {
ItemOption itemOption = mapResultSetToItemOptionDetails(itemOptionResultSet);
itemOptionList.add(itemOption);
}
itemDetails.setItemOptions(itemOptionList);
}
}
// item option price
String itemPricesQuery = "SELECT item_id, level_code, level_value, itm_price_property_code, effective_date, expiration_date, price, price_qty, external_id, external_system, create_date, create_user_id, update_date, update_user_id " +
"FROM dtv.itm_item_prices " +
"WHERE organization_id = 1 AND item_id LIKE ?";
logger.info(itemPricesQuery);
try (PreparedStatement itemPricesStatement = databaseConnection.getConnection().prepareStatement(itemPricesQuery)) {
// Concatenate % to parameter itemId
itemPricesStatement.setString(1, itemId + "%");
try (ResultSet itemPricesResultSet = itemPricesStatement.executeQuery()) {
while (itemPricesResultSet.next()) {
ItemPrices itemPrices = mapResultSetToItemPricesDetails(itemPricesResultSet);
itemPricesList.add(itemPrices);
}
itemDetails.setItemPrices(itemPricesList);
}
}
} catch (SQLException e) {
e.printStackTrace();
// Handle exceptions correctly in a production environment
}
// Return the complete ItemDetails object
return itemDetails;
}
private Item mapResultSetToItemDetails(ResultSet resultSet) throws SQLException {
Item item = new Item();
item.setItemId(resultSet.getString("ITEM_ID"));
item.setItemLevelCode(resultSet.getString("ITEM_LVLCODE"));
item.setParentItemId(resultSet.getString("PARENT_ITEM_ID"));
item.setItemTypeCode(resultSet.getString("ITEM_TYPCODE"));
item.setCreateDate(resultSet.getDate("CREATE_DATE"));
item.setCreateUserId(resultSet.getString("CREATE_USER_ID"));
item.setUpdateDate(resultSet.getDate("UPDATE_DATE"));
item.setUpdateUserId(resultSet.getString("UPDATE_USER_ID"));
return item;
}
private ItemOption mapResultSetToItemOptionDetails(ResultSet resultSet) throws SQLException {
ItemOption itemOption = new ItemOption();
itemOption.setItemId(resultSet.getString("ITEM_ID"));
itemOption.setLevelCode(resultSet.getString("LEVEL_CODE"));
itemOption.setLevelValue(resultSet.getString("LEVEL_VALUE"));
itemOption.setItemAvailabilityCode(resultSet.getString("ITEM_AVAILABILITY_CODE"));
itemOption.setTaxGroupId(resultSet.getString("TAX_GROUP_ID"));
itemOption.setVendor(resultSet.getString("VENDOR"));
itemOption.setSeasonCode(resultSet.getString("SEASON_CODE"));
itemOption.setCreateDate(resultSet.getDate("CREATE_DATE"));
itemOption.setCreateUserId(resultSet.getString("CREATE_USER_ID"));
itemOption.setUpdateDate(resultSet.getDate("UPDATE_DATE"));
itemOption.setUpdateUserId(resultSet.getString("UPDATE_USER_ID"));
return itemOption;
}
private ItemPrices mapResultSetToItemPricesDetails(ResultSet resultSet) throws SQLException {
ItemPrices itemPrices = new ItemPrices();
itemPrices.setItemId(resultSet.getString("ITEM_ID"));
itemPrices.setLevelCode(resultSet.getString("LEVEL_CODE"));
itemPrices.setLevelValue(resultSet.getString("LEVEL_VALUE"));
itemPrices.setItmPricePropertyCode(resultSet.getString("ITM_PRICE_PROPERTY_CODE"));
itemPrices.setEffectiveDate(resultSet.getDate("EFFECTIVE_DATE"));
itemPrices.setExpirationDate(resultSet.getDate("EXPIRATION_DATE"));
itemPrices.setPrice(resultSet.getDouble("PRICE"));
itemPrices.setPriceQty(resultSet.getDouble("PRICE_QTY"));
itemPrices.setExternalId(resultSet.getString("EXTERNAL_ID"));
itemPrices.setExternalSystem(resultSet.getString("EXTERNAL_SYSTEM"));
itemPrices.setCreateDate(resultSet.getDate("CREATE_DATE"));
itemPrices.setCreateUserId(resultSet.getString("CREATE_USER_ID"));
itemPrices.setUpdateDate(resultSet.getDate("UPDATE_DATE"));
itemPrices.setUpdateUserId(resultSet.getString("UPDATE_USER_ID"));
return itemPrices;
}
}

View File

@ -12,6 +12,7 @@ import javax.ws.rs.core.Response;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.sql.Date;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
@ -22,8 +23,13 @@ import java.util.List;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@Path("/stores")
public class StoreService {
private static final Logger logger = LoggerFactory.getLogger(DatabaseConnectDOTSOFT.class);
private static List<Store> cachedStoreList;
private static final Lock cacheLock = new ReentrantLock();
@ -118,11 +124,13 @@ public class StoreService {
DriverManager.setLoginTimeout(5); // Définir le timeout à 5 secondes
try (DatabaseConnectDOTSOFT databaseConnection = new DatabaseConnectDOTSOFT("com02")) {
String query = "SELECT st.id_structure, TRIM(st.nom) as nom, '10.100.0.18' AS ip, " +
String query = "SELECT st.id_structure, TRIM(st.nom) as nom, hsc.ip, " +
"st.tel1 AS telephone " +
"FROM COM02.STRUCTURE st " +
"LEFT OUTER JOIN omni.ASPD_XSTO_STRUCTURE axs ON st.ID_STRUCTURE = axs.ID_STRUCTURE " +
"WHERE st.id_structure < 50";
"JOIN COM02.hotline_structure_caisse hsc ON hsc.id_structure = st.id_structure AND hsc.id_caisse = 1 " +
"WHERE st.id_structure < 50 AND hsc.ip IS NOT NULL AND st.ID_NIVEAU=4 AND st.STATUT=2 " +
"ORDER BY st.id_structure";
try (PreparedStatement statement = databaseConnection.getConnection().prepareStatement(query);
ResultSet resultSet = statement.executeQuery()) {
@ -215,7 +223,8 @@ public class StoreService {
"st.tel1 AS telephone, 'https://mp4.ikksgroup.com/photos/1/6/5/7/3/16573-large.JPG' as photoLink " +
"FROM COM02.STRUCTURE st " +
"WHERE st.id_structure = ?";
logger.info(storeQuery);
try (PreparedStatement storeStatement = databaseConnection.getConnection().prepareStatement(storeQuery)) {
storeStatement.setInt(1, storeId); // Set the value of the parameter
@ -228,6 +237,31 @@ public class StoreService {
}
}
}
// Transaction section
String transactionQuery = "SELECT COUNT(*) as backOfficeTransactions, " +
" MIN(cf.fdate_integration) AS minBackOfficeTransactionDate, " +
" MAX(cf.fdate_integration) AS maxBackOfficeTransactionDate, " +
" TRUNC(MAX(cf.fdate)) AS backOfficeBusinessDate, " +
" CASE WHEN TRUNC(MAX(cf.fdate)) = TRUNC(SYSDATE )THEN 1 ELSE 0 END AS backOfficeTransactionOk "+
"FROM com02.client_facture cf " +
"WHERE cf.id_structure = ? " +
"AND TRUNC(cf.fdate_integration) = TRUNC(SYSDATE-2) " + //TODO : changer la date
"AND cf.version_info = 'XSTORE'";
logger.info(transactionQuery);
try (PreparedStatement transactionStatement = databaseConnection.getConnection().prepareStatement(transactionQuery)) {
transactionStatement.setInt(1, storeId); // Set the value of the parameter
try (ResultSet transactionResultSet = transactionStatement.executeQuery()) {
if (transactionResultSet.next()) {
BackOfficeTransaction storetransaction = mapResultSetToBackOfficetransaction(transactionResultSet);
storeDetails.setTransaction(storetransaction);
} else {
// Adjust to the desired behavior if no results are found for the transaction section.
}
}
}
} catch (SQLException e) {
e.printStackTrace();
// Handle exceptions correctly in a production environment
@ -235,12 +269,13 @@ public class StoreService {
try (DatabaseConnectXSTORE databaseConnection = new DatabaseConnectXSTORE(dbHost,"dtv")) {
// Replication section
String replicationQuery = "SELECT 1 AS replicationOk, " +
"5 AS pendingReplications, " +
"TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') AS minReplicationDate, " +
"TO_CHAR(SYSDATE + INTERVAL '1' DAY, 'YYYY-MM-DD HH24:MI:SS') AS maxReplicationDate " +
"FROM DUAL";
String replicationQuery = "SELECT COUNT(*) AS pendingReplications, " +
"MIN(crq.CREATE_DATE) AS minPendingReplicationDate, " +
"MAX(crq.CREATE_DATE) AS maxPendingReplicationDate, " +
"CASE WHEN MIN(crq.CREATE_DATE) IS NULL OR MIN(crq.CREATE_DATE) > SYSDATE - INTERVAL '5' MINUTE THEN 1 ELSE 0 END AS pendingReplicationOk "+
"FROM repqueue.CTL_REPLICATION_QUEUE crq";
logger.info(replicationQuery);
try (PreparedStatement storeStatement = databaseConnection.getConnection().prepareStatement(replicationQuery);
ResultSet storeReplicationResultSet = storeStatement.executeQuery()) {
@ -251,22 +286,6 @@ public class StoreService {
// Adjust to the desired behavior if no results are found for the Replication section.
}
}
// Ticket section
String ticketQuery = "SELECT 10 AS totalTicketsInCaisse, " +
"15 AS totalTicketsInBackOffice " +
"FROM DUAL";
try (PreparedStatement ticketStatement = databaseConnection.getConnection().prepareStatement(ticketQuery);
ResultSet ticketResultSet = ticketStatement.executeQuery()) {
if (ticketResultSet.next()) {
StoreTicket storeTicket = mapResultSetToStoreTicket(ticketResultSet);
storeDetails.setTickets(storeTicket);
} else {
// Adjust to the desired behavior if no results are found for the Ticket section.
}
}
} catch (SQLException e) {
e.printStackTrace();
// Handle exceptions correctly in a production environment
@ -287,18 +306,21 @@ public class StoreService {
}
private StoreReplication mapResultSetToStoreReplication(ResultSet resultSet) throws SQLException {
boolean replicationOk = resultSet.getBoolean("replicationOk");
boolean pendingReplicationOk = resultSet.getBoolean("pendingReplicationOk");
int pendingReplications = resultSet.getInt("pendingReplications");
String minReplicationDate = resultSet.getString("minReplicationDate");
String maxReplicationDate = resultSet.getString("maxReplicationDate");
Date minPendingReplicationDate = resultSet.getDate("minPendingReplicationDate");
Date maxPendingReplicationDate = resultSet.getDate("maxPendingReplicationDate");
return new StoreReplication(replicationOk, pendingReplications, minReplicationDate, maxReplicationDate);
return new StoreReplication(pendingReplicationOk, pendingReplications, minPendingReplicationDate, maxPendingReplicationDate);
}
private StoreTicket mapResultSetToStoreTicket(ResultSet resultSet) throws SQLException {
int totalTicketsInCaisse = resultSet.getInt("totalTicketsInCaisse");
int totalTicketsInBackOffice = resultSet.getInt("totalTicketsInBackOffice");
return new StoreTicket(totalTicketsInCaisse, totalTicketsInBackOffice);
private BackOfficeTransaction mapResultSetToBackOfficetransaction(ResultSet resultSet) throws SQLException {
boolean backOfficeTransactionOk = resultSet.getBoolean("backOfficeTransactionOk");
int backofficeTransactions = resultSet.getInt("backOfficeTransactions");
Date minBackofficeTransactionDate = resultSet.getDate("minBackOfficeTransactionDate");
Date maxBackofficeTransactionDate = resultSet.getDate("maxBackOfficeTransactionDate");
Date backOfficeBusinessDate = resultSet.getDate("backOfficeBusinessDate");
return new BackOfficeTransaction(backOfficeTransactionOk, backofficeTransactions, minBackofficeTransactionDate, maxBackofficeTransactionDate, backOfficeBusinessDate);
}
}

View File

@ -0,0 +1,294 @@
package com.example.services.item;
import java.sql.Date;
import java.text.SimpleDateFormat;
public class Item {
private Long organizationId;
private String itemId;
private String orgCode;
private String orgValue;
private String name;
private String description;
private String merchLevel1;
private String merchLevel2;
private String merchLevel3;
private String merchLevel4;
private Integer listPrice;
private Integer measureReqFlag;
private String itemLevelCode;
private String parentItemId;
private Integer notInventoriedFlag;
private Integer serializedItemFlag;
private String itemTypeCode;
private String dtvClassName;
private String dimensionSystem;
private Integer disallowMatrixDisplayFlag;
private String itemMatrixColor;
private String dimension1;
private String dimension2;
private String dimension3;
private String externalSystem;
private Date createDate;
private String createUserId;
private Date updateDate;
private String updateUserId;
private String recordState;
// Constructeur par défaut
public Item() {
// Default constructor required for JSON deserialization
}
// Getters and Setters for all fields
public Long getOrganizationId() {
return organizationId;
}
public void setOrganizationId(Long organizationId) {
this.organizationId = organizationId;
}
public String getItemId() {
return itemId;
}
public void setItemId(String itemId) {
this.itemId = itemId;
}
public String getOrgCode() {
return orgCode;
}
public void setOrgCode(String orgCode) {
this.orgCode = orgCode;
}
public String getOrgValue() {
return orgValue;
}
public void setOrgValue(String orgValue) {
this.orgValue = orgValue;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public String getMerchLevel1() {
return merchLevel1;
}
public void setMerchLevel1(String merchLevel1) {
this.merchLevel1 = merchLevel1;
}
public String getMerchLevel2() {
return merchLevel2;
}
public void setMerchLevel2(String merchLevel2) {
this.merchLevel2 = merchLevel2;
}
public String getMerchLevel3() {
return merchLevel3;
}
public void setMerchLevel3(String merchLevel3) {
this.merchLevel3 = merchLevel3;
}
public String getMerchLevel4() {
return merchLevel4;
}
public void setMerchLevel4(String merchLevel4) {
this.merchLevel4 = merchLevel4;
}
public Integer getListPrice() {
return listPrice;
}
public void setListPrice(Integer listPrice) {
this.listPrice = listPrice;
}
public Integer getMeasureReqFlag() {
return measureReqFlag;
}
public void setMeasureReqFlag(Integer measureReqFlag) {
this.measureReqFlag = measureReqFlag;
}
public String getItemLevelCode() {
return itemLevelCode;
}
public void setItemLevelCode(String itemLevelCode) {
this.itemLevelCode = itemLevelCode;
}
public String getParentItemId() {
return parentItemId;
}
public void setParentItemId(String parentItemId) {
this.parentItemId = parentItemId;
}
public Integer getNotInventoriedFlag() {
return notInventoriedFlag;
}
public void setNotInventoriedFlag(Integer notInventoriedFlag) {
this.notInventoriedFlag = notInventoriedFlag;
}
public Integer getSerializedItemFlag() {
return serializedItemFlag;
}
public void setSerializedItemFlag(Integer serializedItemFlag) {
this.serializedItemFlag = serializedItemFlag;
}
public String getItemTypeCode() {
return itemTypeCode;
}
public void setItemTypeCode(String itemTypeCode) {
this.itemTypeCode = itemTypeCode;
}
public String getDtvClassName() {
return dtvClassName;
}
public void setDtvClassName(String dtvClassName) {
this.dtvClassName = dtvClassName;
}
public String getDimensionSystem() {
return dimensionSystem;
}
public void setDimensionSystem(String dimensionSystem) {
this.dimensionSystem = dimensionSystem;
}
public Integer getDisallowMatrixDisplayFlag() {
return disallowMatrixDisplayFlag;
}
public void setDisallowMatrixDisplayFlag(Integer disallowMatrixDisplayFlag) {
this.disallowMatrixDisplayFlag = disallowMatrixDisplayFlag;
}
public String getItemMatrixColor() {
return itemMatrixColor;
}
public void setItemMatrixColor(String itemMatrixColor) {
this.itemMatrixColor = itemMatrixColor;
}
public String getDimension1() {
return dimension1;
}
public void setDimension1(String dimension1) {
this.dimension1 = dimension1;
}
public String getDimension2() {
return dimension2;
}
public void setDimension2(String dimension2) {
this.dimension2 = dimension2;
}
public String getDimension3() {
return dimension3;
}
public void setDimension3(String dimension3) {
this.dimension3 = dimension3;
}
public String getExternalSystem() {
return externalSystem;
}
public void setExternalSystem(String externalSystem) {
this.externalSystem = externalSystem;
}
public String getCreateDate() {
if (createDate != null) {
SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
return dateFormat.format(createDate);
} else {
return "";
}
}
public void setCreateDate(Date createDate) {
this.createDate = createDate;
}
public String getCreateUserId() {
return createUserId;
}
public void setCreateUserId(String createUserId) {
this.createUserId = createUserId;
}
public String getUpdateDate() {
if (updateDate != null) {
SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
return dateFormat.format(updateDate);
} else {
return "";
}
}
public void setUpdateDate(Date updateDate) {
this.updateDate = updateDate;
}
public String getUpdateUserId() {
return updateUserId;
}
public void setUpdateUserId(String updateUserId) {
this.updateUserId = updateUserId;
}
public String getRecordState() {
return recordState;
}
public void setRecordState(String recordState) {
this.recordState = recordState;
}
}

View File

@ -0,0 +1,43 @@
package com.example.services.item;
import java.util.List;
public class ItemDetails {
private List<Item> items;
private List<ItemOption> itemOptions;
private List<ItemPrices> itemPrices;
public ItemDetails() {
// Default constructor required for JSON deserialization
}
public ItemDetails(List<Item> items, List<ItemOption> itemOptions, List<ItemPrices> itemPrices) {
this.items = items;
this.itemOptions = itemOptions;
this.itemPrices = itemPrices;
}
public List<Item> getItems() {
return items;
}
public void setItems(List<Item> items) {
this.items = items;
}
public List<ItemOption> getItemOptions() {
return itemOptions;
}
public void setItemOptions(List<ItemOption> itemOptions) {
this.itemOptions = itemOptions;
}
public List<ItemPrices> getItemPrices() {
return itemPrices;
}
public void setItemPrices(List<ItemPrices> itemPrices) {
this.itemPrices = itemPrices;
}
}

View File

@ -0,0 +1,124 @@
package com.example.services.item;
import java.sql.Date;
import java.text.SimpleDateFormat;
public class ItemOption {
private String itemId;
private String levelCode;
private String levelValue;
private String itemAvailabilityCode;
private String taxGroupId;
private String vendor;
private String seasonCode;
private Date createDate;
private String createUserId;
private Date updateDate;
private String updateUserId;
public ItemOption() {
// Default constructor required for JSON deserialization
}
// Getters and Setters for all fields
public String getItemId() {
return itemId;
}
public void setItemId(String itemId) {
this.itemId = itemId;
}
public String getLevelCode() {
return levelCode;
}
public void setLevelCode(String levelCode) {
this.levelCode = levelCode;
}
public String getLevelValue() {
return levelValue;
}
public void setLevelValue(String levelValue) {
this.levelValue = levelValue;
}
public String getItemAvailabilityCode() {
return itemAvailabilityCode;
}
public void setItemAvailabilityCode(String itemAvailabilityCode) {
this.itemAvailabilityCode = itemAvailabilityCode;
}
public String getTaxGroupId() {
return taxGroupId;
}
public void setTaxGroupId(String taxGroupId) {
this.taxGroupId = taxGroupId;
}
public String getVendor() {
return vendor;
}
public void setVendor(String vendor) {
this.vendor = vendor;
}
public String getSeasonCode() {
return seasonCode;
}
public void setSeasonCode(String seasonCode) {
this.seasonCode = seasonCode;
}
public String getCreateDate() {
if (createDate != null) {
SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
return dateFormat.format(createDate);
} else {
return "";
}
}
public void setCreateDate(Date createDate) {
this.createDate = createDate;
}
public String getCreateUserId() {
return createUserId;
}
public void setCreateUserId(String createUserId) {
this.createUserId = createUserId;
}
public String getUpdateDate() {
if (updateDate != null) {
SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
return dateFormat.format(updateDate);
} else {
return "";
}
}
public void setUpdateDate(Date updateDate) {
this.updateDate = updateDate;
}
public String getUpdateUserId() {
return updateUserId;
}
public void setUpdateUserId(String updateUserId) {
this.updateUserId = updateUserId;
}
}

View File

@ -0,0 +1,159 @@
package com.example.services.item;
import java.sql.Date;
import java.text.SimpleDateFormat;
public class ItemPrices {
private String itemId;
private String levelCode;
private String levelValue;
private String itmPricePropertyCode;
private Date effectiveDate;
private Date expirationDate;
private Double price;
private Double priceQty;
private String externalId;
private String externalSystem;
private Date createDate;
private String createUserId;
private Date updateDate;
private String updateUserId;
public ItemPrices() {
// Default constructor required for JSON deserialization
}
// Getters and Setters for all fields
public String getItemId() {
return itemId;
}
public void setItemId(String itemId) {
this.itemId = itemId;
}
public String getLevelCode() {
return levelCode;
}
public void setLevelCode(String levelCode) {
this.levelCode = levelCode;
}
public String getLevelValue() {
return levelValue;
}
public void setLevelValue(String levelValue) {
this.levelValue = levelValue;
}
public String getItmPricePropertyCode() {
return itmPricePropertyCode;
}
public void setItmPricePropertyCode(String itmPricePropertyCode) {
this.itmPricePropertyCode = itmPricePropertyCode;
}
public String getEffectiveDate() {
if (effectiveDate != null) {
SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
return dateFormat.format(effectiveDate);
} else {
return "";
}
}
public void setEffectiveDate(Date effectiveDate) {
this.effectiveDate = effectiveDate;
}
public String getExpirationDate() {
if (expirationDate != null) {
SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
return dateFormat.format(expirationDate);
} else {
return "";
}
}
public void setExpirationDate(Date expirationDate) {
this.expirationDate = expirationDate;
}
public Double getPrice() {
return price;
}
public void setPrice(Double price) {
this.price = price;
}
public Double getPriceQty() {
return priceQty;
}
public void setPriceQty(Double priceQty) {
this.priceQty = priceQty;
}
public String getExternalId() {
return externalId;
}
public void setExternalId(String externalId) {
this.externalId = externalId;
}
public String getExternalSystem() {
return externalSystem;
}
public void setExternalSystem(String externalSystem) {
this.externalSystem = externalSystem;
}
public String getCreateDate() {
if (createDate != null) {
SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
return dateFormat.format(createDate);
} else {
return "";
}
}
public void setCreateDate(Date createDate) {
this.createDate = createDate;
}
public String getCreateUserId() {
return createUserId;
}
public void setCreateUserId(String createUserId) {
this.createUserId = createUserId;
}
public String getUpdateDate() {
if (updateDate != null) {
SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
return dateFormat.format(updateDate);
} else {
return "";
}
}
public void setUpdateDate(Date updateDate) {
this.updateDate = updateDate;
}
public String getUpdateUserId() {
return updateUserId;
}
public void setUpdateUserId(String updateUserId) {
this.updateUserId = updateUserId;
}
}

View File

@ -0,0 +1,85 @@
package com.example.services.store;
import java.sql.Date;
import java.text.SimpleDateFormat;
public class BackOfficeTransaction {
private boolean backOfficeTransactionOk;
private int backOfficeTransactions;
private Date minBackOfficeTransactionDate;
private Date maxBackOfficeTransactionDate;
private Date backOfficeBusinessDate;
// Constructeur par défaut
public BackOfficeTransaction() {
// Default constructor required for JSON deserialization
}
// Constructeur avec paramètres
public BackOfficeTransaction(boolean backOfficeTransactionOk, int backOfficeTransactions, Date minbackOfficeTransactionDate, Date maxbackOfficeTransactionDate, Date backOfficeBusinessDate) {
this.backOfficeTransactionOk = backOfficeTransactionOk;
this.backOfficeTransactions = backOfficeTransactions;
this.minBackOfficeTransactionDate = minbackOfficeTransactionDate;
this.maxBackOfficeTransactionDate = maxbackOfficeTransactionDate;
this.backOfficeBusinessDate = backOfficeBusinessDate;
}
// Getters et setters
public boolean isBackOfficeTransactionOk() {
return backOfficeTransactionOk;
}
public void setBackOfficeTransactionOk(boolean backOfficeTransactionOk) {
this.backOfficeTransactionOk = backOfficeTransactionOk;
}
public int getBackOfficeTransactions() {
return backOfficeTransactions;
}
public void setBackOfficeTransactions(int backOfficeTransactions) {
this.backOfficeTransactions = backOfficeTransactions;
}
public String getMinBackOfficeTransactionDate() {
if (minBackOfficeTransactionDate != null) {
SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
return dateFormat.format(minBackOfficeTransactionDate);
} else {
return "";
}
}
public void setMinBackOfficeTransactionDate(Date minBackOfficeTransactionDate) {
this.minBackOfficeTransactionDate = minBackOfficeTransactionDate;
}
public String getMaxBackOfficeTransactionDate() {
if (maxBackOfficeTransactionDate != null) {
SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
return dateFormat.format(maxBackOfficeTransactionDate);
} else {
return "";
}
}
public void setMaxBackOfficeTransactionDate(Date maxBackOfficeTransactionDate) {
this.maxBackOfficeTransactionDate = maxBackOfficeTransactionDate;
}
public String getBackOfficeBusinessDate() {
if (backOfficeBusinessDate != null) {
SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
return dateFormat.format(backOfficeBusinessDate);
} else {
return "";
}
}
public void setBackOfficeBusinessDate(Date backOfficeBusinessDate) {
this.backOfficeBusinessDate = backOfficeBusinessDate;
}
}

View File

@ -9,7 +9,9 @@ public class Store {
// Default constructor
public Store() {}
public Store() {
// Default constructor required for JSON deserialization
}
// Constructor with parameters
public Store(Integer id_structure, String nom, String ip, String telephone, String photoLink) {

View File

@ -3,16 +3,16 @@ package com.example.services.store;
public class StoreDetails {
private Store store;
private StoreReplication replication;
private StoreTicket tickets;
private BackOfficeTransaction transaction;
public StoreDetails() {
// Constructeur par défaut nécessaire pour la désérialisation JSON
}
public StoreDetails(Store store, StoreReplication replication, StoreTicket tickets) {
public StoreDetails(Store store, StoreReplication replication, BackOfficeTransaction transaction) {
this.store = store;
this.replication = replication;
this.tickets = tickets;
this.transaction = transaction;
}
public Store getStore() {
@ -31,14 +31,12 @@ public class StoreDetails {
this.replication = replication;
}
public StoreTicket getTickets() {
return tickets;
public BackOfficeTransaction getTransaction() {
return transaction;
}
public void setTickets(StoreTicket tickets) {
this.tickets = tickets;
public void setTransaction(BackOfficeTransaction transaction) {
this.transaction = transaction;
}
// Ajoutez éventuellement d'autres méthodes ou personnalisez selon vos besoins
}

View File

@ -1,10 +1,13 @@
package com.example.services.store;
import java.sql.Date;
import java.text.SimpleDateFormat;
public class StoreReplication {
private boolean replicationOk; // Ajoutez les propriétés nécessaires pour la partie réplication
private boolean pendingReplicationOk;
private int pendingReplications;
private String minReplicationDate;
private String maxReplicationDate;
private Date minPendingReplicationDate;
private Date maxPendingReplicationDate;
// Constructeur par défaut
public StoreReplication() {
@ -12,21 +15,21 @@ public class StoreReplication {
}
// Constructeur avec paramètres
public StoreReplication(boolean replicationOk, int pendingReplications, String minReplicationDate, String maxReplicationDate) {
this.replicationOk = replicationOk;
public StoreReplication(boolean pendingReplicationOk, int pendingReplications, Date minPendingReplicationDate, Date maxPendingReplicationDate) {
this.pendingReplicationOk = pendingReplicationOk;
this.pendingReplications = pendingReplications;
this.minReplicationDate = minReplicationDate;
this.maxReplicationDate = maxReplicationDate;
this.minPendingReplicationDate = maxPendingReplicationDate;
this.maxPendingReplicationDate = maxPendingReplicationDate;
}
// Getters et setters
public boolean isReplicationOk() {
return replicationOk;
public boolean isPendingReplicationOk() {
return pendingReplicationOk;
}
public void setReplicationOk(boolean replicationOk) {
this.replicationOk = replicationOk;
public void setPendingReplicationOk(boolean replicationOk) {
this.pendingReplicationOk = replicationOk;
}
public int getPendingReplications() {
@ -37,19 +40,30 @@ public class StoreReplication {
this.pendingReplications = pendingReplications;
}
public String getMinReplicationDate() {
return minReplicationDate;
public String getMinPendingReplicationDate() {
if (minPendingReplicationDate != null) {
SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
return dateFormat.format(minPendingReplicationDate);
} else {
return "";
}
}
public void setMinReplicationDate(Date minPendingReplicationDate) {
this.minPendingReplicationDate = minPendingReplicationDate;
}
public void setMinReplicationDate(String minReplicationDate) {
this.minReplicationDate = minReplicationDate;
public String getMaxPendingReplicationDate() {
if (maxPendingReplicationDate != null) {
SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
return dateFormat.format(maxPendingReplicationDate);
} else {
return "";
}
}
public String getMaxReplicationDate() {
return maxReplicationDate;
}
public void setMaxReplicationDate(String maxReplicationDate) {
this.maxReplicationDate = maxReplicationDate;
public void setMaxReplicationDate(Date maxPendingReplicationDate) {
this.maxPendingReplicationDate = maxPendingReplicationDate;
}
}

View File

@ -1,35 +0,0 @@
package com.example.services.store;
public class StoreTicket {
private int cashRegisterTickets; // Ajoutez les propriétés nécessaires pour la partie tickets
private int backOfficeTickets;
// Constructeur par défaut
public StoreTicket() {
// Default constructor required for JSON deserialization
}
// Constructeur avec paramètres
public StoreTicket(int cashRegisterTickets, int backOfficeTickets) {
this.cashRegisterTickets = cashRegisterTickets;
this.backOfficeTickets = backOfficeTickets;
}
// Getters et setters
public int getCashRegisterTickets() {
return cashRegisterTickets;
}
public void setCashRegisterTickets(int cashRegisterTickets) {
this.cashRegisterTickets = cashRegisterTickets;
}
public int getBackOfficeTickets() {
return backOfficeTickets;
}
public void setBackOfficeTickets(int backOfficeTickets) {
this.backOfficeTickets = backOfficeTickets;
}
}

View File

@ -9,7 +9,7 @@ preprod.db.oai.password=base
preprod.db.com02.password=B1Xto9pAbtBCOxuecG7W
# Production environment settings (prod)
prod.db.url=jdbc:oracle:thin:@prod-host:1521/PRODDB
prod.db.url=jdbc:oracle:thin:@paspdi-mgmt.adic.lan.adic.lan:1521/IASPDI
prod.db.oai.password=base
prod.db.com02.password=com20

View File

@ -1,2 +1,2 @@
# Indicates the current environment (dev, preprod, prod, etc.).
environment=dev
environment=preprod