質問 > 管理機能 > csvで、発送伝票の荷送人に注文者情報を出力したい |
管理機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
dice |
投稿日時: 2015/6/26 11:03
対応状況: −−−
|
新米 登録日: 2015/6/26 居住地: 投稿: 2 |
csvで、発送伝票の荷送人に注文者情報を出力したい ------------------------------------------------------------------------------------------
[EC-CUBE] 2.12.6 [レンタルサーバ] さくら [OS] Linux [PHP] PHP 5.4.38 [データベース] PostgreSQL 9.3.6 [WEBサーバ] Apache/2.2.15 (CentOS) ------------------------------------------------------------------------------------------ ギフト用の注文の際に、発送伝票の荷送人(依頼主)欄を、自社情報ではなく、注文者情報を印字したいのです。 ?注文者とお届け先が同じ場合は、荷送人(依頼主)に自社情報を出力 ?注文者とお届け先が異なる場合は、注文者を荷送人として出力 という場合分けがしたいです。 ちなみに、現状では下記のように固定文言を出力しています。 ======================= '000-0000-0000' AS "ご依頼主電話番号", '000-0000' AS "ご依頼主郵便番号", '●●県△△市' AS "ご依頼主住所1", '1-1-1' AS "ご依頼主住所2", 'ギフトショップ◆◆◆' AS "ご依頼主名称1", '' AS "ご依頼主名称2", ======================= お分かりになる方、教えてください。 よろしくお願いします。 |
yuh |
投稿日時: 2015/6/26 11:50
対応状況: −−−
|
神 登録日: 2013/1/9 居住地: 大阪 投稿: 1819 |
Re: csvで、発送伝票の荷送人に注文者情報を出力したい 複数配送対応してるかどうかによっても若干変わってきますが、
このようなCASE式で判断はできますが、複数配送の場合はまたちょっと違う形で書かないとダメですね。 |
dice |
投稿日時: 2015/6/26 14:12
対応状況: −−−
|
新米 登録日: 2015/6/26 居住地: 投稿: 2 |
Re: csvで、発送伝票の荷送人に注文者情報を出力したい さっそくのお返事ありがとうございます!
教えていただいたソースコードで書いたところ、 注文者とお届け先が違う場合に、お届け先が依頼主になってしまったので、若干下記のように修正したところ、意図した出力ができました! (複数配送なし) ELSE (SELECT shipping_tel01 || '-' || shipping_tel02 || '-' || shipping_tel03 FROM dtb_shipping WHERE order_id = dtb_order.order_id LIMIT 1) ⇣ ELSE (SELECT order_tel01 || '-' || order_tel02 || '-' || order_tel03 FROM dtb_shipping WHERE order_id = dtb_order.order_id LIMIT 1) ただ、今度は、お届け先都道府県=注文者の都道府県になってしまいました。 こちらはどのように修正したら良いでしょうか? ちなみに、全体としては下記のようになっています。 ================================ '' AS "住所録コード", CONCAT(shipping_tel01 || '-' || shipping_tel02 || '-' || shipping_tel03) AS "お届け先電話番号", CONCAT(shipping_zip01 || '-' || shipping_zip02) AS "お届け先郵便番号", mtb_pref.name AS "お届け先住所1", CONCAT(shipping_addr01 || shipping_addr02) AS "お届け先住所2", '' AS "お届け先住所3", CONCAT(shipping_name01 || shipping_name02) AS "お届け先名称1", '' AS "お届け先名称2", dtb_order.customer_id AS "お客様管理ナンバー", CASE WHEN (order_name01,order_name02,order_tel01,order_tel02,order_tel03,order_pref,order_addr01,order_addr02)= (SELECT shipping_name01,shipping_name02,shipping_tel01,shipping_tel02,shipping_tel03,shipping_pref,shipping_addr01,shipping_addr02 FROM dtb_shipping WHERE order_id = dtb_order.order_id LIMIT 1) THEN '000-0000-0000' ELSE (SELECT order_tel01 || '-' || order_tel02 || '-' || order_tel03 FROM dtb_shipping WHERE order_id = dtb_order.order_id LIMIT 1) END AS "ご依頼主電話番号", CASE WHEN (order_name01,order_name02,order_tel01,order_tel02,order_tel03,order_pref,order_addr01,order_addr02)= (SELECT shipping_name01,shipping_name02,shipping_tel01,shipping_tel02,shipping_tel03,shipping_pref,shipping_addr01,shipping_addr02 FROM dtb_shipping WHERE order_id = dtb_order.order_id LIMIT 1) THEN '000-0000' ELSE (SELECT order_zip01 || '-' || order_zip02 FROM dtb_shipping WHERE order_id = dtb_order.order_id LIMIT 1) END AS "ご依頼主郵便番号", CASE WHEN (order_name01,order_name02,order_tel01,order_tel02,order_tel03,order_pref,order_addr01,order_addr02)= (SELECT shipping_name01,shipping_name02,shipping_tel01,shipping_tel02,shipping_tel03,shipping_pref,shipping_addr01,shipping_addr02 FROM dtb_shipping WHERE order_id = dtb_order.order_id LIMIT 1) THEN '●●県△△市' ELSE (SELECT mtb_pref.name || order_addr01 FROM dtb_shipping WHERE order_id = dtb_order.order_id LIMIT 1) END AS "ご依頼主住所1", CASE WHEN (order_name01,order_name02,order_tel01,order_tel02,order_tel03,order_pref,order_addr01,order_addr02)= (SELECT shipping_name01,shipping_name02,shipping_tel01,shipping_tel02,shipping_tel03,shipping_pref,shipping_addr01,shipping_addr02 FROM dtb_shipping WHERE order_id = dtb_order.order_id LIMIT 1) THEN '1-1-1' ELSE (SELECT order_addr02 FROM dtb_shipping WHERE order_id = dtb_order.order_id LIMIT 1) END AS "ご依頼主住所2", CASE WHEN (order_name01,order_name02,order_tel01,order_tel02,order_tel03,order_pref,order_addr01,order_addr02)= (SELECT shipping_name01,shipping_name02,shipping_tel01,shipping_tel02,shipping_tel03,shipping_pref,shipping_addr01,shipping_addr02 FROM dtb_shipping WHERE order_id = dtb_order.order_id LIMIT 1) THEN 'ギフトショップ◆◆◆' ELSE (SELECT order_name01 || order_name02 FROM dtb_shipping WHERE order_id = dtb_order.order_id LIMIT 1) END AS "ご依頼主名称1", '' AS "ご依頼主名称2", FROM mtb_pref, dtb_order LEFT JOIN dtb_shipping ON dtb_order.order_id = dtb_shipping.order_id WHERE dtb_order.order_pref=mtb_pref.id AND dtb_order.status = 9 AND dtb_order.del_flg = 0 ================================ 何度もお手数ですが、よろしくお願いします。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |