EC-CUBE2では、受注管理からのCSV出力では、購入商品名や数量などの注文詳細がダウンロードできません。
都合が悪かったので、注文データすべてをCSVで取り出せるようにしました。
これで受注データを他のアプリケーションで利用することも可能になります。
詳細な受注データのCSV出力
コンテンツ管理-CSV出力項目設定-高度な設定
新規SQL作成ボタンを押してCSV出力設定にあるSQL設定を行ってください。名称を入力し、SQL文欄には以下の内容を入力してください。
EC-CUBE2.11.xの場合
赤字の部分をのo.status = ◯ の部分は、システム設定>マスターデータ管理の mtb_order_statusのIDを入れることで絞込みができます。
o.order_id as "オーダー番号",
o.create_date as "受注日",
concat(order_name01,order_name02) as "注文者名",
CONCAT( product_name, IFNULL(classcategory_name1, ''), IFNULL(classcategory_name2, '') ) AS '商品名',
product_code as "商品コード",
price as "価格",
quantity as "数量",
payment_total as "請求金額",
total as "合計金額",
tax as "消費税",
deliv_fee as "送料",
charge as "手数料",
payment_method as "決済方法",
concat(shipping_name01, shipping_name02) as "宛名",
concat(shipping_kana01,shipping_kana02) as "宛名フリガナ",
concat(shipping_tel01,shipping_tel02,shipping_tel03) as "電話番号",
concat(shipping_zip01,shipping_zip02) as "配送先郵便番号",
concat(p.name,shipping_addr01,shipping_addr02) as "配送先住所",
shipping_date as "配送日",
shipping_time as "配送時間",
o.note as "メモ欄"
FROM
dtb_order AS o
LEFT JOIN
dtb_order_detail AS d
ON
o.order_id = d.order_id
LEFT JOIN
dtb_shipping AS s
ON
o.order_id = s.order_id
LEFT JOIN
mtb_pref AS p
ON
p.id = shipping_pref
LEFT JOIN
dtb_customer AS c
ON
o.customer_id = c.customer_id
WHERE
o.status = 1
AND
o.del_flg = 0
AND
NOT EXISTS (SELECT * FROM dtb_shipment_item AS si WHERE s.order_id = si.order_id AND s.shipping_id = si.shipping_id)
ORDER BY o.order_id
EC-CUBE2.3の場合 (2.4でもいけるかな?)
一番最後の行の赤字の部分を入れると、ステータス区分の「新規受付」のみを、赤字部分を入れなければ全データを取り出すことができます。
o.order_id ,
o.message ,
o.order_name01 ,
o.order_name02 ,
o.order_kana01 ,
o.order_kana02 ,
o.order_email ,
o.order_tel01 ,
o.order_tel02 ,
o.order_tel03 ,
o.order_fax01 ,
o.order_fax02 ,
o.order_fax03 ,
o.order_zip01 ,
o.order_zip02 ,
o.order_pref ,
o.order_addr01 ,
o.order_addr02 ,
o.order_sex ,
o.order_birth ,
o.deliv_name01 ,
o.deliv_name02 ,
o.deliv_kana01 ,
o.deliv_kana02 ,
o.deliv_tel01 ,
o.deliv_tel02 ,
o.deliv_tel03 ,
o.deliv_fax01 ,
o.deliv_fax02 ,
o.deliv_fax03 ,
o.deliv_zip01 ,
o.deliv_zip02 ,
o.deliv_pref ,
o.deliv_addr01 ,
o.deliv_addr02 ,
o.subtotal ,
o.discount ,
o.deliv_fee ,
o.charge ,
o.use_point ,
o.add_point ,
o.birth_point ,
o.tax ,
o.total ,
o.payment_total ,
o.payment_method ,
o.deliv_id ,
o.deliv_time_id ,
o.deliv_time ,
o.deliv_no ,
o.note ,
o.status ,
o.create_date ,
o.update_date ,
o.deliv_date ,
od.order_id ,
od.product_name ,
od.product_code ,
od.price ,
od.quantity ,
od.point_rate ,
dt.deliv_id ,
dt.time_id ,
dt.deliv_time ,
d.name ,
d.service_name FROM dtb_order AS o
LEFT JOIN dtb_order_detail AS od ON o.order_id = od.order_id
LEFT JOIN dtb_deliv AS d ON o.deliv_id = d.deliv_id
LEFT JOIN dtb_delivtime AS dt ON o.deliv_id = dt.deliv_id AND o.deliv_time_id = dt.time_id AND d.deliv_id = dt.deliv_id
where o.del_flg = 0 and o.status=1
それにしても、EC-CUBEの機能って、すごく便利・・・