<?php
class Shipment_PickingDetailController extends Ec_Controller_Action
{
    public function preDispatch()
    {
        $this->tplDirectory = "shipment/views/pickup/";
        $this->serviceClass = new Service_PickingDetail();
    }

    public function listAction()
    {
        $pickingCode = $this->_request->getParam('pickingCode', '');
        $status= Common_Status::pickDetailStatus();
        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();
            if($params['E01']!=""){
                $picking = Service_Picking::getByField($params['E01'],"picking_code","*");
                $params['E1'] = $picking['picking_id'];
                unset($params['E01']);
            }

            $condition = $this->serviceClass->getMatchFields($params);

            $count = $this->serviceClass->getByCondition($condition, 'count(*)');
            $return['total'] = $count;

            if ($count) {
                $showFields=array(
                    
                'picking_id',
                'picking_code',
                'product_barcode',
                'order_code',
                'pd_status',
                'pd_quantity',
                'lc_code',
                'pd_add_time',
                'pd_id',
                );
                $showFields = $this->serviceClass->getFieldsAlias($showFields);
                $rows = $this->serviceClass->getByCondition($condition,$showFields, $pageSize, $page, array('pd_id desc'));
                $return['data'] = $rows;
                $return['state'] = 1;
                $return['pdStatus'] = $status;
                $return['message'] = "";
            }
            die(Zend_Json::encode($return));
        }
        $this->view->pickingCode=$pickingCode;
        $this->view->status=$status;
        echo Ec::renderTpl($this->tplDirectory . "picking_detail_index.tpl", 'layout');
    }
}