Página Estado de los pedidos de ToolTech (Business Edition)

Los clientes pueden pulsar el enlace Estado de los pedidos en el menú de la cabecera para acceder a la página Estado de los pedidos, TrackOrderStatus.jsp. La página Estado de los pedidos muestra lo siguiente:

Desde esta página los clientes pueden ver el estado y los detalles de sus pedidos, elegir si desean volver a pedir pedidos procesados y cancelar pedidos planificados.

Mandatos

TrackOrderStatus.jsp utiliza los mandatos siguientes:

Beans

TrackOrderStatus.jsp utiliza los beans siguientes:

Implementación

Nota: Para obtener información sobre las técnicas de implementación comunes a todas las páginas de la tienda de ejemplo, incluida la información multicultural, consulte Páginas de la tienda de ejemplo: técnicas de implementación comunes.

Cuando los clientes pulsan el enlace Estado de los pedidos en el menú de la cabecera, el bean OrderAccessBean recupera todos los pedidos y las propiedades de cada pedido, incluyendo el estado, el precio total, la fecha del pedido y el número de orden de compra.

while (ordersList.hasMoreElements()) { next_order = (OrderAccessBean) ordersList.nextElement(); String orderStatusCode = next_order.getStatus();

//obtener número de orden de compra

String poNumber = orderDB.getPurchaseOrderNumber();
if (poNumber.equals("")) {

poNumber = tooltechtext.getString("Status_none");
}

Pedidos en espera de aprobación

Todos los pedidos que están en espera de aprobación tienen un estado W, tal como se muestra a continuación: 

if (orderStatusCode.equals("W")) 

Pedidos procesados

Si los clientes deciden pedir de nuevo un pedido procesado, pulsando el enlace Hacer nuevo pedido, el mandato OrderCopy copia el pedido y llama al mandato OrderItemDisplay, que inicia la página Su pedido, shoppingcart.jsp.

OrderCopy?fromOrderId_1=<%=nextOrderId%>&toOrderId=.**.&OrderItemId_1=*&URL=OrderItemDisplay

Los pedidos procesados pueden filtrarse para que no se visualicen dependiendo de su estado.

if (orderStatusCode.equals("N") || orderStatusCode.equals("M") || orderStatusCode.equals("B") || orderStatusCode.equals("C") || orderStatusCode.equals("R") || orderStatusCode.equals("S") ){

//obtener la fecha del pedido
String orderDateString;
SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-aaaa");
Date orderDate; orderDate = next_order.getPlaceOrderTimeInEJBType(); orderDateString

Nota: Para obtener más información sobre los códigos de estado del pedido, consulte el enlace Referencias relacionadas al final de esta página.

Pedidos planificados

Cuando los clientes crean pedidos planificados, éstos se recuperan utilizando el código siguiente:

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.getSchedulerOrderByMemberIdList

El intervalo para cada pedido planificado se visualiza utilizando el código siguiente:

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");

Todos los pedidos planificados tiene un estado de pedido I. Si los clientes seleccionan Cancelar, se visualizará un mensaje javascript para preguntarles si desean realmente cancelar el pedido. Si los clientes seleccionan , se cancela el pedido y los clientes regresan a la página TrackOrderStatus.jsp

Cuando los clientes pulsan el enlace de número de pedido de cualquier pedido, se visualiza la página Detalles del pedido, OrderDetails.jsp, resultante.

Nota: La página Detalles del pedido es similar a la página Resumen del pedido, pero sin la información sobre el pago.

Conceptos relacionados

Tareas relacionadas

Referencia relacionada

IBM copyright