I clienti possono selezionare il collegamento Stato ordine nel menu principale per accedere alla relativa pagina, TrackOrderStatus.jsp.
La pagina Stato ordine visualizza quanto segue:
- Ordini in attesa di approvazione
- Ordini inoltrati
- Ordini pianificati
Da questa pagina i clienti possono visualizzare lo stato e i dettagli degli ordini effettuati e scegliere di eseguire nuovamente ordini inoltrati oppure di annullare quelli pianificati.
Comandi
TrackOrderStatus.jsp utilizza i seguenti comandi:
- OrderDetail
- OrderCopy
- ScheduledOrderCancel (annulla gli ordini pianificati)
Bean
TrackOrderStatus.jsp utilizza i seguenti bean:
- OrderAccessBean
- SchedulerOrderDataBean
- OrderDataBean
- SchedulerConfigAccessBean (richiama il numero di riferimento processo per gli ordini pianificati)
- AttributeValueDataBean
- AttributeDataBean
- CatalogEntryAccessBean
- ItemDataBean
Implementazione
Nota:
per informazioni sulle tecniche di implementazione comuni a tutte le pagine del negozio di esempio, incluse le informazioni multi-culturali, consultare Pagine del negozio di esempio: tecniche di implementazioni comuni.Quando i clienti selezionano il collegamento Stato ordine sul menu principale, OrderAccessBean richiama tutti gli ordini e le proprietà di ciascun ordine inclusi lo stato, la data dell'ordine e il numero ordine di acquisto.
while (ordersList.hasMoreElements()) { next_order = (OrderAccessBean) ordersList.nextElement(); String orderStatusCode = next_order.getStatus();
//get purchase order number
String poNumber = orderDB.getPurchaseOrderNumber();
if (poNumber.equals("")) {
poNumber = tooltechtext.getString("Status_none");
}
Ordini in attesa di approvazion
Tutti gli ordini nello stato di approvazione hanno lo stato W, come indicato di seguito:
if (orderStatusCode.equals("W"))
Ordini inoltrati
Se i clienti decidono di eseguire nuovamente un ordine inoltrato, facendo clic sul relativo collegamento, il comando OrderCopy copia l'ordine e richiama il comando OrderItemDisplay che avvia la pagina dell'ordine, shoppingcart.jsp.
OrderCopy?fromOrderId_1=<%=nextOrderId%>&toOrderId=.**.&OrderItemId_1=*&URL=OrderItemDisplay
Gli ordini inoltrati possono essere filtrati in modo da essere visualizzati non in base al proprio stato.
if (orderStatusCode.equals("N") || orderStatusCode.equals("M") || orderStatusCode.equals("B") || orderStatusCode.equals("C") || orderStatusCode.equals("R") || orderStatusCode.equals("S") ){
//get the date ordered
String orderDateString;
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
Date orderDate; orderDate = next_order.getPlaceOrderTimeInEJBType(); orderDateStringNota: per ulteriori informazioni sui codici dello stato dell'ordine, consultare i Riferimenti correlati riportati nella parte inferiore di questa pagina.
Ordini pianificati
Quando vengono creati ordini pianificati, tali ordini vengono richiamati utilizzando il codice riportato di seguito:
CommandContext commandContext = (CommandContext) request.getAttribute(ECConstants.EC_COMMANDCONTEXT);
Long userId = commandContext.getUserId();
SchedulerOrderByMemberIdListDataBean orderABFinder = new SchedulerOrderByMemberIdListDataBean();
orderABFinder.setDataBeanKeyMemberId(userId.toString());
com.ibm.commerce.beans.DataBeanManager.activate(orderABFinder, request);
com.ibm.commerce.order.beans.SchedulerOrderDataBean bnSchOrd[] = orderABFinder.getSchedulerOrderByMemberIdListL'intervallo per ciascun ordine pianificato viene visualizzato utilizzando il seguente codice:
SchedulerConfigAccessBean SchConBean = new SchedulerConfigAccessBean(); SchConBean.setInitKey_jobReferenceNumber(bnSchOrd[i].getJobReferenceNumber()); String Interval = ""; String frequency = SchConBean.getInterval()+""; if(frequency.equals("0")) Interval = tooltechtext.getString("OrderSum_Interval_6"); else if(frequency.equals("86400")) Interval = tooltechtext.getString("OrderSum_Interval_1"); else if(frequency.equals("604800")) Interval = tooltechtext.getString("OrderSum_Interval_2"); else if(frequency.equals("1209600")) Interval = tooltechtext.getString("OrderSum_Interval_3"); else if(frequency.equals("1814400")) Interval = tooltechtext.getString("OrderSum_Interval_4"); else if(frequency.equals("2592000")) Interval = tooltechtext.getString("OrderSum_Interval_5");
Tutti gli ordini pianificati hanno lo stato ordine I. Se si seleziona Annulla, verrà visualizzato un messaggio script java che richiederà se si desidera realmente annullare l'ordine. Se si seleziona Sì, l'ordine viene annullato e viene visualizzata nuovamente la pagina TrackOrderStatus.jsp.
Quando si seleziona un numero ordine, viene visualizzata la relativa pagina Dettagli ordine, OrderDetails.jsp.
Nota:
la pagina Dettagli ordine è simile alla pagina Riepilogo ordine e non contiene le informazioni sul pagamento.
![]() |