顧客はヘッダー・メニューの「オーダー状況」リンクをクリックして、
オーダー状況ページ (TrackOrderStatus.jsp) にアクセスすることができます。
「オーダーの状況」ページには、以下が表示されます。
- 承認待ちのオーダー
- 処理済みのオーダー
- スケジュール済みのオーダー
顧客はこのページで自分のオーダーの状況と詳細情報を見て、処理済みのオーダーのリオーダーおよびスケジュール済みのオーダーのキャンセルを選択することができます。
コマンド
TrackOrderStatus.jsp は、以下のコマンドを使用します。
- OrderDetail
- OrderCopy
- ScheduledOrderCancel (スケジュール済みオーダーのキャンセル)
bean
TrackOrderStatus.jsp は、以下の bean を使用します。
- OrderAccessBean
- SchedulerOrderDataBean
- OrderDataBean
- SchedulerConfigAccessBean (スケジュール済みオーダーのジョブ参照番号を取得)
- AttributeValueDataBean
- AttributeDataBean
- CatalogEntryAccessBean
- ItemDataBean
インプリメンテーション
注:
マルチカルチャー情報を含むすべてのサンプル・ストア・ページに共通なインプリメンテーション手法については、 サンプル・ストア・ページ: 共通のインプリメンテーション手法を参照してください。顧客がヘッダー・メニューの「オーダーの状況」 リンクをクリックすると、 OrderAccessBean がすべてのオーダーと各オーダーのプロパティーを検索します。 このプロパティーには、状況、合計価格、オーダー日付、および購入オーダー番号が含まれます。
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");
}
承認待ちのオーダー
承認状態のオーダーの状況はすべて、以下に示すように W です。
if (orderStatusCode.equals("W"))
処理済みのオーダー
顧客が処理済みオーダーをリオーダーするために「リオーダー」リンクをクリックすると、 OrderCopy コマンドによってそのオーダーがコピーされて OrderItemDisplay コマンドが呼び出されます。 これによって「お客様のオーダー」の shoppingcart.jsp ページが立ち上がります。
OrderCopy?fromOrderId_1=<%=nextOrderId%>&toOrderId=.**.&OrderItemId_1=*&URL=OrderItemDisplay
処理済みのオーダーをフィルターに掛けて、その状況によっては表示しないようにすることができます。
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(); orderDateString注: オーダー状況のコードについての詳細は、このページの下部にある関連参照リンクを参照してください。
スケジュール済みのオーダー
顧客がスケジュールされたオーダーを作成すると、そのスケジュール済みのオーダーは以下のコードを使って検索されます。
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スケジュール済みのオーダーのそれぞれのインターバルは、以下のコードを使って表示されます。
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");
スケジュール済みオーダーのオーダー状況はすべて I です。 顧客がキャンセルを選択すると Java スクリプト・メッセージが表示されて、オーダーを本当にキャンセルしてよいか顧客に確認します。 顧客がはいを選択すると、そのオーダーはキャンセルされて、顧客は TrackOrderStatus.jsp ページに戻ります。
顧客がいずれかのオーダーのオーダー番号リンクをクリックすると、オーダー詳細情報ページ OrderDetails.jsp が表示されます。
注:
オーダー詳細情報ページはオーダー要約ページに類似していますが、支払い情報が含まれていません。
![]() |