<?php
class Shipment_OutboundBagDetailController extends Ec_Controller_Action
{
    public function preDispatch()
    {
        $this->tplDirectory = "shipment/views/order/";
        $this->serviceClass = new Service_OutboundBagDetail();
    }

    public function listAction()
    {
        $bagCode=$this->_request->getParam('bagCode','');
        if ($this->_request->isPost()) {
            $page = $this->_request->getParam('page', 1);
            $pageSize = $this->_request->getParam('pageSize', 20);

            $page = $page ? $page : 1;
            $pageSize = $pageSize ? $pageSize : 20;

            $return = array(
                "state" => 0,
                "message" => "No Data"
            );

            $params = $this->_request->getParams();

            $condition = $this->serviceClass->getMatchFields($params);

            $count = $this->serviceClass->getLeftJoinByCondition($condition, 'count(*)');
            $return['total'] = $count;

            if ($count) {
                $showFields=array(
                    
                'ob_no',
                'order_code',
                'so_code',
                'so_weight',
                'creater_id',
                'obd_add_time',
                'obd_id',
                );
                $showFields = $this->serviceClass->getFieldsAlias($showFields);
                $rows = $this->serviceClass->getLeftJoinByCondition($condition,$showFields, $pageSize, $page, array('obd_id desc'));
                foreach ($rows as $key => &$value) {
                    $smCode = Service_Orders::getByField($value['E2'], 'order_code');
                    $shipOrder = Service_ShipOrder::getByField($value['E2'], 'order_code');
                    if ($smCode['sm_code'] == 'HKDHL') {
        				$tracking_number_behind = Service_ShipOrderDetail::getByField($value['E2'], 'order_code');
        				$tracking_number_behind = $tracking_number_behind['sub_tracking_number'];
        			} else {
        				$tracking_number_behind = Service_ShipOrder::getByField($value['E2'], 'order_code');
        				$tracking_number_behind = $tracking_number_behind['tracking_number'];
        			}
            		$value['tracking_number'] = $tracking_number_behind;
                    $value['pieces'] = $shipOrder['so_piece'];
                }
                $return['data'] = $rows;
                $return['state'] = 1;
                $return['message'] = "";
            }
            die(Zend_Json::encode($return));
        }
        $this->view->bagCode=$bagCode;
        echo Ec::renderTpl($this->tplDirectory . "outbound_bag_detail_index.tpl", 'layout');
    }
}