Magento 1.5版本,导出order详细订单的SQL语句 、 取消订单事件 同时删除多个ID foreach
2014-09-15 15:27
417 查看
/**
* 取消订单事件
* @param unknown $observer
* @return Ca_Checkout_Model_Observer
*/
public function checkout_cancel_after($observer)
{
$order = $observer->getEvent()->getOrder();
if(!$order)
{
return $this;
}
$salesFlat = Core::getModel('checkout/salesordergift')->getCollection()
->addFieldToSelect('id')
->addFieldToFilter('order_id',$order->getId());
foreach ($salesFlat->getData() as $deleteId)
{
//print_r($deleteId['id']);
$salesFlat = Core::getModel('checkout/salesordergift');
$salesFlat->load($deleteId['id']);
$salesFlat->delete();
}
SELECT
DATE_FORMAT(OD.`created_at`,'%Y-%m-%d') as Update_Time,
OAD1.`customer_id` as 客户编号,
CONCAT(OAD1.`firstname`,' ',OAD1.`lastname`) as Shipping_name,
OAD1.`telephone` as 联系电话,
OD.`customer_email` as Email,
if(SUBSTRING(OAD1.`postcode`,1,1)='0',CONCAT('Zip:0',SUBSTRING(OAD1.`postcode`,2)),OAD1.`postcode`) as 邮编,
OAD1.`street` as 街道,
OAD1.`city` as 城市,
OAD1.`region` as 省,
OAD1.`company` as 公司,
CONCAT(OAD1.`street`,',',OAD1.`city`,',',OAD1.`region`,',',OAD1.`postcode`,',',OAD1.`company`) as 地址2,
CO.`country_name` as 国家,
OD.`shipping_method` as 付款方式,
PRO.`sku` as 产品,
TRUNCATE(PRO.`base_row_total`/PRO.`base_price`,0) as 数量,
OD.`order_currency_code` as 货币,
TRUNCATE(PRO.`base_price`,2) as 销售单价,
TRUNCATE(PRO.`base_row_total`,2) as Total_Price,
TRUNCATE(OD.`base_shipping_amount`,2) as 运费,
OD.`increment_id` as 平台交易ID,
PRO.`product_id` as ItemNumber,
PRO.`name` as ItemTitle,
OD.`store_id`,
OM.`message` as 备注
FROM `sales_flat_order` as OD
LEFT JOIN `sales_flat_order_item` as PRO
ON OD.`entity_id`=PRO.`order_id`
LEFT JOIN `sales_flat_order_address` as OAD1
ON OD.`shipping_address_id`=OAD1.`entity_id`
LEFT JOIN `directory_country` as CO
ON OAD1.`country_id`=CO.`country_id`
LEFT JOIN `gift_message` as OM
ON OD.`gift_message_id`=OM.`gift_message_id`
LEFT JOIN `sales_flat_order_status_history` as OS
ON OD.`entity_id`= OS.`parent_id` AND OS.`status` = 'complete'
WHERE DATE_FORMAT(OD.`created_at`,'%Y-%m-%d')=current_date
OR DATE_FORMAT(OD.`created_at`,'%Y-%m-%d')=DATE_FORMAT(adddate(now(),-1), '%Y-%m-%d')
OR DATE_FORMAT(OD.`created_at`,'%Y-%m-%d')=DATE_FORMAT(adddate(now(),-2), '%Y-%m-%d')
group by PRO.`item_id`
有个if条件判断,解决了数据导出到excel里面时,Zip开头为0时会自动消失的问题
* 取消订单事件
* @param unknown $observer
* @return Ca_Checkout_Model_Observer
*/
public function checkout_cancel_after($observer)
{
$order = $observer->getEvent()->getOrder();
if(!$order)
{
return $this;
}
$salesFlat = Core::getModel('checkout/salesordergift')->getCollection()
->addFieldToSelect('id')
->addFieldToFilter('order_id',$order->getId());
foreach ($salesFlat->getData() as $deleteId)
{
//print_r($deleteId['id']);
$salesFlat = Core::getModel('checkout/salesordergift');
$salesFlat->load($deleteId['id']);
$salesFlat->delete();
}
SELECT
DATE_FORMAT(OD.`created_at`,'%Y-%m-%d') as Update_Time,
OAD1.`customer_id` as 客户编号,
CONCAT(OAD1.`firstname`,' ',OAD1.`lastname`) as Shipping_name,
OAD1.`telephone` as 联系电话,
OD.`customer_email` as Email,
if(SUBSTRING(OAD1.`postcode`,1,1)='0',CONCAT('Zip:0',SUBSTRING(OAD1.`postcode`,2)),OAD1.`postcode`) as 邮编,
OAD1.`street` as 街道,
OAD1.`city` as 城市,
OAD1.`region` as 省,
OAD1.`company` as 公司,
CONCAT(OAD1.`street`,',',OAD1.`city`,',',OAD1.`region`,',',OAD1.`postcode`,',',OAD1.`company`) as 地址2,
CO.`country_name` as 国家,
OD.`shipping_method` as 付款方式,
PRO.`sku` as 产品,
TRUNCATE(PRO.`base_row_total`/PRO.`base_price`,0) as 数量,
OD.`order_currency_code` as 货币,
TRUNCATE(PRO.`base_price`,2) as 销售单价,
TRUNCATE(PRO.`base_row_total`,2) as Total_Price,
TRUNCATE(OD.`base_shipping_amount`,2) as 运费,
OD.`increment_id` as 平台交易ID,
PRO.`product_id` as ItemNumber,
PRO.`name` as ItemTitle,
OD.`store_id`,
OM.`message` as 备注
FROM `sales_flat_order` as OD
LEFT JOIN `sales_flat_order_item` as PRO
ON OD.`entity_id`=PRO.`order_id`
LEFT JOIN `sales_flat_order_address` as OAD1
ON OD.`shipping_address_id`=OAD1.`entity_id`
LEFT JOIN `directory_country` as CO
ON OAD1.`country_id`=CO.`country_id`
LEFT JOIN `gift_message` as OM
ON OD.`gift_message_id`=OM.`gift_message_id`
LEFT JOIN `sales_flat_order_status_history` as OS
ON OD.`entity_id`= OS.`parent_id` AND OS.`status` = 'complete'
WHERE DATE_FORMAT(OD.`created_at`,'%Y-%m-%d')=current_date
OR DATE_FORMAT(OD.`created_at`,'%Y-%m-%d')=DATE_FORMAT(adddate(now(),-1), '%Y-%m-%d')
OR DATE_FORMAT(OD.`created_at`,'%Y-%m-%d')=DATE_FORMAT(adddate(now(),-2), '%Y-%m-%d')
group by PRO.`item_id`
有个if条件判断,解决了数据导出到excel里面时,Zip开头为0时会自动消失的问题
相关文章推荐
- Magento 1.5版本,导出order详细订单的SQL语句
- 常用SQL语句实例(含过滤及删除重复数据、导入导出数据等)
- 导出订单SQL语句【8】
- Magento使用phpexcel导出 商品订单 /订单条目表sales_flat_order_item
- dedecms织梦SQL语句批量删除指定ID范围文章
- SQL删除语句同时向备份表插入数据
- SQL 2005删除作业计划出错(DELETE语句与 REFERENCE约束"FK_subplan_job_id"冲突。)的解决
- 关于同时查询父子名称的SQL查询语句的写法 id name parentId parentName
- Magento SQL导出客户购物车产品信息(客户email,产品ID,产品名称,产品描述,产品价格,产品图片)
- Magento联表查询产品的Group Price 以及 历史已完成订单的产品的price 的 SQL 语句
- MyBatis:SQL语句中的foreach的详细介绍
- SQL语句:插入数据的同时,返回ID值 (自增)
- 常用SQL语句实例大全(含过滤及删除重复数据、导入导出数据等)
- Magento 根据SKU查询订单信息的SQL语句
- 删除表记录并把ID清零的SQL语句
- SQL语句:插入数据的同时,返回ID值 (自增)
- Magento导出订单同时导出产品信息
- Magento ver. 1.5.1.0—根据系统当天时间,Order导出最近俩天的ERP需求数据SQL语句
- SQL删除语句同时向备份表插入数据
- 用SQL语句删除除了id不同,其他都相同的学生表信息