Your IP : 216.73.216.79


Current Path : /var/www/html/crm/views/product/
Upload File :
Current File : /var/www/html/crm/views/product/overview.php

<?php

use yii\widgets\ActiveForm;
use yii\helpers\Html;
use yii\grid\GridView;
use yii\helpers\Url;
use app\models\Menu;
use app\models\ParamList;
use app\models\Brand;
use app\models\ProductCategory;
use app\models\Vendor;
use app\models\Company;
use app\models\Product;
use app\models\StockLog;
use app\models\DeliveryOrder;
use app\models\Grn;
use app\models\Invoice;
use yii\helpers\ArrayHelper;

/* @var $this yii\web\View */
/* @var $searchModel app\models\ProductSearch */
/* @var $dataProvider yii\data\ActiveDataProvider */

$Menu = new Menu();
$this->title = $Menu->getmenutitle($menu_id);

$this->registerCss(".tooltip-inner {max-width: 100% !important;text-align : left;}
    /*.kt-svg-icon {height: 16px;width: 16px;}
    .table-custom tbody td{padding-bottom:0;}*/");
?>
<div class="kt-subheader  kt-grid__item" id="kt_subheader">
    <div class="kt-container  kt-container--fluid ">
        <div class="kt-subheader__main">
            <h3 class="kt-subheader__title"><?= $this->title ?></h3>
            <div class="kt-subheader__breadcrumbs">
                <?= $Menu->getbreadcrumbs($menu_id, ''); ?>
                <span class="kt-subheader__breadcrumbs-separator"></span><span class="kt-subheader__breadcrumbs-link"><?= $this->title ?> List</span>
            </div>
        </div>
    </div>
</div>
<div class="kt-container kt-grid__item kt-grid__item--fluid">
    <div class="kt-portlet kt-portlet--mobile">
        <div class="kt-portlet__head">
            <?php $form = ActiveForm::begin(['action' => ['overview'], 'method' => 'get', 'options' => ['class' => 'form-inline form-search mt-4 mb-4']]); ?>
            <?=
            $form->field($searchModel, 'searchvendor')->dropDownList(ArrayHelper::map(Vendor::find()->where(['=', 'status', '1'])->orderBy(['name' => SORT_ASC])->all(), 'uuid', 'name'), [
                'title' => '- Choose vendor -',
                'class' => 'form-control kt-selectpicker mr-2',
                'data-width' => '300px',
                'data-live-search' => 'false',
                'multiple' => true])->label(false);
            ?>  
            <?=
            $form->field($searchModel, 'searchbrand')->dropDownList(ArrayHelper::map(Brand::find()->orderBy(['name' => SORT_ASC])->all(), 'uuid', 'name'), [
                'title' => '- Choose brand -',
                'class' => 'form-control kt-selectpicker mr-2',
                'data-width' => '300px',
                'data-live-search' => 'false',
                'multiple' => true])->label(false);
            ?>  
            <?= $form->field($searchModel, 'searchstring')->textInput(['placeholder' => "Enter keyword here..."])->label(false); ?>&nbsp;&nbsp;
            <?= $form->field($searchModel, 'searchcompany')->hiddenInput()->label(false); ?>
            <div class="form-group">
                &nbsp;&nbsp;<?= Html::submitButton('Search', ['class' => 'btn btn-brand']) ?>
                &nbsp;&nbsp;<?= Html::a('Reset', ['overview'], ['class' => 'btn btn-outline-brand']) ?>
            </div>
            <?php ActiveForm::end(); ?>
        </div>
        <div class="kt-portlet__body p-0">
            <?=
            GridView::widget([
                'dataProvider' => $dataProvider,
                'tableOptions' => ['class' => 'table mb-0 table-borderless table-striped table-hover table-custom'],
                'pager' => [
                    'firstPageLabel' => '<i class="fa fa-angle-double-left kt-font-brand"></i>',
                    'lastPageLabel' => '<i class="fa fa-angle-double-right kt-font-brand"></i>',
                    'prevPageLabel' => '<i class="fa fa-angle-left kt-font-brand"></i>',
                    'nextPageLabel' => '<i class="fa fa-angle-right kt-font-brand"></i>',
                    'maxButtonCount' => 3,
                    'options' => ['tag' => 'ul', 'class' => 'kt-pagination--brand kt-pagination__links p-3',],
                    'activePageCssClass' => 'kt-pagination__link--active',
                    'prevPageCssClass' => 'kt-pagination__link--prev',
                    'nextPageCssClass' => 'kt-pagination__link--next',
                    'firstPageCssClass' => 'kt-pagination__link--first',
                    'lastPageCssClass' => 'kt-pagination__link--last',
                ],'columns' => [
                [
                    'class' => 'yii\grid\SerialColumn',
                    'headerOptions' => ['class' => 'text-center', 'width' => '1%'],
                    'contentOptions' => ['class' => 'text-center'],
                ], [
                    'header' => 'Product',
                    'format' => 'raw',
                    'value' => function($model) {
                        $ParamList = new ParamList();
                        $Brand = new Brand();
                        $Vendor = new Vendor();
                        $Company = new Company();

                        $tooltip = "SKU : " . $model->sku . "<br>
                            UoM : " . $ParamList->getlabel(9, $model->uom) . "<br>
                            Brand : " . $Brand->getname($model->brand_id) . "<br>Vendor : " . $Vendor->getname($model->vendor_id) . "<br>
                            Company : " . $Company->getname($model->com_id);
                        return $model->name . "<span class='kt-font-info' data-toggle='tooltip' data-placement='top' data-html='true' title='" . $tooltip . "'>
                                            &nbsp;&nbsp;<i class='fas fa-info-circle'></i>
                                        </span>";
                    }
                ], [
                    'header' => 'Available',
                    'format' => 'raw',
                    //'headerOptions' => ['width' => '20%'],
                    'value' => function ($model) {

                        $StockLog = new StockLog();
                        $total = $StockLog->balancestockbyowner($model->id);
                        $output = '<div class="float-left text-center"><div class="kt-badge kt-badge--brand kt-badge--inline kt-badge--unified-brand mr-1">
                                Total : <span class="font-weight-bold ml-1">' . number_format($total) . '</span>
                            </div><br>';

                        $output .= Html::a('<i class="fas fa-plus"></i>', [
                                    'stockin/create',
                                    'com_id' => $model->com_id,
                                    'vendor_id' => $model->vendor_id,
                                    'product_id' => $model->id,
                                    'brand_id' => $model->brand_id], ['title' => 'Stock-In', 'target' => '_blank', 'class' => 'kt-font-brand mr-2']);
                        $output .= Html::a('<i class="fas fa-sliders-h"></i>', ['stockout/create',
                                    'product_id' => $model->id,
                                    'product_name' => $model->name,
                                    'owner_type' => 'vendor',
                                    'owner_id' => $model->vendor_id
                                        ], ['title' => 'Stock Adjustment', 'target' => '_blank', 'class' => 'kt-font-brand mr-2']);
                        $output .= '</div>';

                        return $total;
                    },
                ], [
                    'header' => 'In-Transit',
                    'format' => 'raw',
                    'headerOptions' => ['class' => 'text-center'],
                    'contentOptions' => ['class' => 'text-center'],
                    'value' => function ($model) {
                        $DeliveryOrder = new DeliveryOrder();
                        $total = $DeliveryOrder->intransitqty($model->id, '');
                        $output = '';
                        if ($total != 0) {
                            $output = Html::a(number_format($total), Url::to([
                                                'deliveryorder/index',
                                                'DeliveryOrderSearch[searchstring]' => $model->name,
                                                'DeliveryOrderSearch[status]' => 'In-Transit',
                                                'DeliveryOrderSearch[searchcompany]' => '']), ['target' => '_blank',]);
                        }
                        return $output;
                    },
                ], [
                    'header' => 'Return',
                    'format' => 'raw',
                    'headerOptions' => ['class' => 'text-center'],
                    'contentOptions' => ['class' => 'text-center'],
                    'value' => function ($model) {
                        $Grn = new Grn();
                        $total = $Grn->returnqty($model->id, '');
                        $pending_label = $Grn->pendinglabel($model->id, '');
                        $output = '';
                        if ($total != 0) {
                            $output = Html::a(number_format($total), Url::to([
                                                'grn/return',
                                                'GrnSearch[searchstring]' => $model->name]), ['target' => '_blank',]);
                        }
                        return $output . $pending_label;
                    },
                ],
                [
                    'header' => 'Consigned',
                    'format' => 'raw',
                    'headerOptions' => ['class' => 'text-center'],
                    'contentOptions' => ['class' => 'text-center'],
                    'value' => function ($model) {
                        $DeliveryOrder = new DeliveryOrder();
                        $total = $DeliveryOrder->consignedqty($model->id, '');
                        $output = '';
                        if ($total != 0) {
                            $output = Html::a(number_format($total), Url::to([
                                                'deliveryorder/index',
                                                'DeliveryOrderSearch[searchstring]' => $model->name,
                                                'DeliveryOrderSearch[status]' => 'Consigned',
                                                'DeliveryOrderSearch[searchcompany]' => '']), ['target' => '_blank',]);
                        }
                        return $output;
                    },
                ], [
                    'header' => 'Offline Sales',
                    'format' => 'raw',
                    'headerOptions' => ['class' => 'text-center'],
                    'contentOptions' => ['class' => 'text-center'],
                    'value' => function ($model) {
                        $total = Yii::$app->db->createCommand("SELECT SUM(quantity) FROM (" .
                                        Yii::$app->sales->getProductOfflineSalesQuery('', '', '', $model->id) . ") t")->queryScalar();
                        $output = '';
                        if ($total != 0) {
                            $output = Html::a(number_format($total), Url::to([
                                                'excel/downloadproductsales',
                                                'product_id' => $model->id,
                                                'company_id' => '',
                                                'start_dt' => '',
                                                'end_dt' => '']), ['target' => '_blank',]);
                        }
                        return $output;
                    },
                ], [
                    'header' => 'Log',
                    'format' => 'raw',
                    'value' => function ($model) {
                        return '<a href="index.php?r=stocklog/index&StockLogSearch[searchkeyword]=' . urlencode($model->name) . '"><i class="fas fa-info-circle"></i></a>';
                    }
                ]
            ],
            ]);
            ?>
        </div>
    </div>
</div>

<?php $this->registerJs("setleftmenu(10,55,'');"); ?>