/**
     * 会員の登録住所を取得する.
     *
     * 配列の1番目に会員登録住所, 追加登録住所が存在する場合は2番目以降に
     * 設定される.
     *
     * @param integer $customer_id 会員ID
     * @return array 会員登録住所, 追加登録住所の配列
     */
    function getCustomerAddress($customer_id)
    {
        if (DB_TYPE != 'sqlsrv') {
            return parent::getCustomerAddress($customer_id);
        } else {
            $objQuery =& SC_Query_Ex::getSingletonInstance();
            $from = <<<__EOS__
            (
                SELECT NULL AS other_deliv_id,
                    customer_id,
                    name01, name02,
                    kana01, kana02,
                    zip01, zip02,
                    pref,
                    addr01, addr02,
                    email, email_mobile,
                    tel01, tel02, tel03,
                    fax01, fax02, fax03
                FROM dtb_customer
                WHERE customer_id = ?
                UNION ALL
                SELECT other_deliv_id,
                    customer_id,
                    name01, name02,
                    kana01, kana02,
                    zip01, zip02,
                    pref,
                    addr01, addr02,
                    NULL AS email, NULL AS email_mobile,
                    tel01, tel02, tel03,
                    NULL AS fax01, NULL AS fax02, NULL AS fax03
                FROM dtb_other_deliv
                WHERE customer_id = ?
            ) AS addrs
__EOS__;
            $objQuery->setOrder("CASE WHEN other_deliv_id is null THEN -1 ELSE 0 END, other_deliv_id DESC");
            return $objQuery->select('*', $from, '', array($customer_id, $customer_id));
        }
    }
 /**
  * 配送住所のプルダウン用連想配列を取得する.
  *
  * 会員ログイン済みの場合は, 会員登録住所及び追加登録住所を取得する.
  * 非会員の場合は, 「お届け先の指定」画面で入力した住所を取得する.
  *
  * @param SC_Customer $objCustomer SC_Customer インスタンス
  * @param SC_Helper_Purchase $objPurchase SC_Helper_Purchase インスタンス
  * @param integer $uniqid 受注一時テーブルのユニークID
  * @return array 配送住所のプルダウン用連想配列
  */
 function getDelivAddrs(&$objCustomer, &$objPurchase, $uniqid)
 {
     $masterData = new SC_DB_MasterData_Ex();
     $arrPref = $masterData->getMasterData('mtb_pref');
     $arrResults = array('' => '選択してください');
     // 会員ログイン時
     if ($objCustomer->isLoginSuccess(true)) {
         $arrAddrs = $objCustomer->getCustomerAddress($objCustomer->getValue('customer_id'));
         foreach ($arrAddrs as $val) {
             $other_deliv_id = SC_Utils_Ex::isBlank($val['other_deliv_id']) ? 0 : $val['other_deliv_id'];
             $arrResults[$other_deliv_id] = $val['name01'] . $val['name02'] . ' ' . $arrPref[$val['pref']] . $val['addr01'] . $val['addr02'];
         }
     } else {
         $arrShippings = $objPurchase->getShippingTemp();
         foreach ($arrShippings as $shipping_id => $val) {
             $arrResults[$shipping_id] = $val['shipping_name01'] . $val['shipping_name02'] . ' ' . $arrPref[$val['shipping_pref']] . $val['shipping_addr01'] . $val['shipping_addr02'];
         }
     }
     return $arrResults;
 }