/**
  * If [[includeContext]] property is false, returns context message normally.
  * If [[includeContext]] is true, returns an empty string (so that context message in [[collect]] is not generated),
  * expecting that context will be appended to every message in [[prepareMessage]].
  * @return array the context information
  */
 protected function getContextMessage()
 {
     if (null === $this->_contextMessage || !$this->cacheContext) {
         $this->_contextMessage = ArrayHelper::filter($GLOBALS, $this->logVars);
     }
     return $this->_contextMessage;
 }
Esempio n. 2
0
<?php

use yii\helpers\ArrayHelper;
use yii\helpers\Json;
/**
 * Get local enviroment params
 */
$parameters = dirname(dirname(__DIR__)) . '/conf.d/parameters.json';
if (is_file($parameters)) {
    $filters = ['db', 'db.host', 'db.name', 'db.username', 'db.password', 'host', 'host.info', 'host.baseUrl', 'git', 'git.cmd', 'hg', 'hg.cmd', 'emailFrom', 'smtp', 'smtp.host', 'smtp.port', 'smtp.username', 'smtp.password', 'smtp.encryption'];
    return ArrayHelper::filter(Json::decode(file_get_contents($parameters)), $filters);
} else {
    return [];
}
Esempio n. 3
0
 /**
  * Generates the context information to be logged.
  * The default implementation will dump user information, system variables, etc.
  * @return string the context information. If an empty string, it means no context information.
  */
 protected function getContextMessage()
 {
     $context = ArrayHelper::filter($GLOBALS, $this->logVars);
     $result = [];
     foreach ($context as $key => $value) {
         $result[] = "\${$key} = " . VarDumper::dumpAsString($value);
     }
     return implode("\n\n", $result);
 }
 public function actionExport()
 {
     //Rpt Of [selasa=2;minggu=0]
     $x = date('N', strtotime(date("Y-m-d")));
     if ($x != 2 or $x != 7) {
         $tglIn = date("Y-m-d");
         //'2016-09-07';
         //$tglIn='2016-10-27';
         //DAILY REPORT INVENTORY SALES
         $dailySalesReport = new ArrayDataProvider(['key' => 'ID', 'allModels' => Yii::$app->db_esm->createCommand("\t\r\n\t\t\t\t\t# x1 = Schadule Detail; x2 = Sales Order; x3 = customer;x4 = barang; x5 = Visit Memo; x6 = Alias customer; x7 = Alias barang; x8 = USER PROFILE\r\n\t\t\t\t\tSELECT x1.TGL,\r\n\t\t\t\tx8.NM_FIRST,\r\n\t\t\t\tx1.CUST_ID AS CUST_ID_ESM,\r\n\t\t\t\tx6.KD_ALIAS AS CUST_ID_DISTRIBUTOR,\r\n\t\t\t\tx1.CUST_NM,\r\n\t\t\t\tx2.KD_BARANG AS KD_BARANG_ESM, \r\n\t\t\t\tx7.KD_ALIAS As ID_BARANG_DISTRIBUTOR,\r\n\t\t\t\tx4.NM_BARANG, \r\n\t\t\t\t\t\tSUM(CASE WHEN x2.SO_TYPE=5 THEN (CASE WHEN  x2.SO_QTY<>-1 THEN x2.SO_QTY ELSE 0 END) ELSE 0 END) as STOCK,\r\n\t\t\t\t\t\tSUM(CASE WHEN x2.SO_TYPE=8 THEN (CASE WHEN  x2.SO_QTY<>-1 THEN x2.SO_QTY ELSE 0 END) ELSE 0 END) as RETURN_INV,\r\n\t\t\t\t\t\tSUM(CASE WHEN x2.SO_TYPE=9 THEN (CASE WHEN  x2.SO_QTY<>-1 THEN x2.SO_QTY ELSE 0 END) ELSE 0 END) as REQUEST_INV,\r\n\t\t\t\t\t\tSUM(CASE WHEN x2.SO_TYPE=6 THEN (CASE WHEN  x2.SO_QTY<>-1 THEN x2.SO_QTY ELSE 0 END) ELSE 0 END) as SELL_IN,\r\n\t\t\t\t\t\tSUM(CASE WHEN x2.SO_TYPE=7 THEN (CASE WHEN  x2.SO_QTY<>-1 THEN x2.SO_QTY ELSE 0 END) ELSE 0 END) as SELL_OUT,\t\t\t\t\r\n\t\t\t\t\t\tx5.ISI_MESSAGES\r\n\t\t\t\t\t\tFROM c0002rpt_cc_time x1 INNER JOIN so_t2 x2 ON  x2.TGL=x1.TGL AND x2.CUST_KD=x1.CUST_ID \r\n\t\t\t\t\t\tLEFT JOIN b0001 x4 on x4.KD_BARANG=x2.KD_BARANG\t\t\r\n\t\t\t\t\t\tLEFT JOIN c0014 x5 on x5.TGL=x1.TGL AND x5.KD_CUSTOMER=x1.CUST_ID AND x5.ID_USER=x1.USER_ID\r\n\t\t\t\t\t\tLEFT JOIN c0002 x6 on x6.KD_CUSTOMERS=x1.CUST_ID\r\n\t\t\t\t\t\tLEFT JOIN b0002 x7 on x7.KD_BARANG=x2.KD_BARANG\r\n\t\t\t\t\t\tLEFT JOIN dbm_086.user_profile x8 on x8.ID_USER=x1.USER_ID\r\n\t\t\t\t\t\tWHERE  x1.TGL='" . $tglIn . "' AND x1.USER_ID NOT IN ('61','62')\r\n\t\t\t\t\t\tGROUP BY x1.CUST_ID,x2.KD_BARANG\t\r\n\t\t\t\t\t\tORDER BY x1.USER_ID,x1.CUST_ID\r\n\t\t\t\t")->queryAll()]);
         $apDailySalesReport = $dailySalesReport->allModels;
         $excel_DailySalesReport = Postman4ExcelBehavior::excelDataFormat($apDailySalesReport);
         $excel_ceilsDailySalesReport = $excel_DailySalesReport['excel_ceils'];
         // DAILY REPORT SALES QUALITY TIME
         $dailySalesQt = new ArrayDataProvider(['key' => 'ID', 'allModels' => Yii::$app->db_esm->createCommand("\r\n\t\t\t\t\t#call ERP_CUSTOMER_VISIT_CRONJOB_kwalitas_time('ALL_HEAD2','55','2016-08-18')\r\n\t\t\t\t\tSELECT \r\n\t\t\t\t\t\tTGL,SALES_NM,\r\n\t\t\t\t\t\tCUST_ID,CUST_NM,\t\r\n\t\t\t\t\t\tABSEN_MASUK,ABSEN_KELUAR,\t\r\n\t\t\t\t\t\tCUST_CHKIN AS CHEKIN, CUST_CHKOUT AS CHECKOUT,LIVE_TIME AS VISIT_TIME, JRK_TEMPUH AS DISTANCE,\r\n\t\t\t\t\t\t(CASE WHEN STS=0 THEN 'CC' ELSE (CASE WHEN STATUS_EC>0 THEN 'EC' ELSE 'AC' END) END) as STATUS,\r\n\t\t\t\t\t\tSCDL_GRP_NM AS AREA,\r\n\t\t\t\t\t\t(CASE WHEN STS_CASE=0 THEN 'PLAN' ELSE 'CASE' END) as SCDL_EVENT,\r\n\t\t\t\t\t\t(CASE WHEN STS_CASE_PIC='' THEN 'SYSTEM' ELSE STS_CASE_PIC END) AS AUTHORIZED \r\n\t\t\t\t\tFROM c0002rpt_cc_time WHERE TGL='" . $tglIn . "' AND USER_ID NOT IN ('61','62')\r\n\t\t\t\t\tORDER BY USER_ID,CUST_CHKIN,CUST_CHKOUT\r\n\t\t\t\t")->queryAll()]);
         $apSalesQT = $dailySalesQt->allModels;
         $excel_DailySalesQT = Postman4ExcelBehavior::excelDataFormat($apSalesQT);
         $excel_ceilsSalesQT = $excel_DailySalesQT['excel_ceils'];
         // DAILY REPORT EXPIRED DATE
         $dailySalesExpired = new ArrayDataProvider(['allModels' => Yii::$app->db_esm->createCommand("\r\n\t\t\t\t\tSELECT \r\n\t\t\t\t\t\t\tDATE_FORMAT(x1.TGL_KJG,'%Y-%m-%d') AS TGL_KJG,\r\n\t\t\t\t\t\t\tx6.SALES_NM,\r\n\t\t\t\t\t\t\tx1.CUST_ID,\r\n\t\t\t\t\t\t\t#x4.KD_ALIAS,\r\n\t\t\t\t\t\t\tx3.CUST_NM,\r\n\t\t\t\t\t\t\tx1.BRG_ID,x5.KD_ALIAS,x2.NM_BARANG,\r\n\t\t\t\t\t\t\tx1.QTY,x1.DATE_EXPIRED\r\n\t\t\t\t\tFROM c0012 x1\r\n\t\t\t\t\tLEFT JOIN b0001 x2 on x2.KD_BARANG=x1.BRG_ID\r\n\t\t\t\t\tLEFT JOIN c0001 x3 on x3.CUST_KD=x1.CUST_ID\r\n\t\t\t\t\tLEFT JOIN c0002 x4 on x4.KD_CUSTOMERS=x1.CUST_ID\r\n\t\t\t\t\tLEFT JOIN b0002 x5 on x5.KD_BARANG=x1.BRG_ID\r\n\t\t\t\t\tLEFT JOIN (\tSELECT u1.id as USER_ID, u1.username as  USER_NM, u2.NM_FIRST as SALES_NM\r\n\t\t\t\t\t\t\t\t\tFROM dbm001.user u1 \r\n\t\t\t\t\t\t\t\t\tLEFT JOIN dbm_086.user_profile u2 on u2.ID_USER=u1.id\r\n\t\t\t\t\t\t\t\t\tWHERE u1.POSITION_SITE='CRM' AND u1.POSITION_LOGIN=1 AND u1.POSITION_ACCESS=2\r\n\t\t\t\t\t\t\t\t) x6 on x6.USER_ID=x1.USER_ID\r\n\t\t\t\t\tWHERE x1.TGL_KJG like '" . $tglIn . "%' AND x1.USER_ID NOT IN ('61','62')\r\n\t\t\t\t\tGROUP BY x1.DATE_EXPIRED,x1.BRG_ID,x1.CUST_ID\r\n\t\t\t\t\tORDER BY x1.USER_ID,x1.CUST_ID,x1.BRG_ID,x1.DATE_EXPIRED\r\n\t\t\t\t")->queryAll()]);
         $apSalesExpired = $dailySalesExpired->allModels;
         $excel_DailySalesExpired = Postman4ExcelBehavior::excelDataFormat($apSalesExpired);
         $excel_ceilsSalesExpired = $excel_DailySalesExpired['excel_ceils'];
         $excel_content = [['sheet_name' => 'DAILY REPORT INVENTORY', 'sheet_title' => [['TGL', 'SALESMD', 'CUST_ID_ESM', 'CUST_ID_DIST', 'CUST_NM', 'KD_BARANG_ESM', 'ID_BARANG_DIST', 'NM_BARANG', 'STOCK/Pcs', 'RETURE/Pcs', 'REQUEST.ORDER/Pcs', 'SELL.IN/Pcs', 'SELL.OUT/Pcs', 'NOTE']], 'ceils' => $excel_ceilsDailySalesReport, 'freezePane' => 'A2', 'headerColor' => Postman4ExcelBehavior::getCssClass("header"), 'headerStyle' => [['TGL' => ['align' => 'center'], 'SALESMD' => ['align' => 'center'], 'CUST_ID_ESM' => ['align' => 'center'], 'CUST_ID_DIST' => ['align' => 'center'], 'CUST_NM' => ['align' => 'center'], 'KD_BARANG_ESM' => ['align' => 'center'], 'ID_BARANG_DIST' => ['align' => 'center'], 'NM_BARANG' => ['align' => 'center'], 'STOCK/Pcs' => ['align' => 'center'], 'RETURE/Pcs' => ['align' => 'center'], 'REQUEST.ORDER/Pcs' => ['align' => 'center'], 'SELL.IN/Pcs' => ['align' => 'center'], 'SELL.OUT/Pcs' => ['align' => 'center'], 'NOTE' => ['align' => 'center']]], 'contentStyle' => [['TGL' => ['align' => 'center'], 'SALESMD' => ['align' => 'left'], 'CUST_ID_ESM' => ['align' => 'center'], 'CUST_ID_DIST' => ['align' => 'center'], 'CUST_NM' => ['align' => 'left'], 'KD_BARANG_ESM' => ['align' => 'center'], 'ID_BARANG_DIST' => ['align' => 'center'], 'NM_BARANG' => ['align' => 'left'], 'STOCK/Pcs' => ['align' => 'right'], 'RETURE/Pcs' => ['align' => 'right'], 'REQUEST.ORDER/Pcs' => ['align' => 'right'], 'SELL.IN/Pcs' => ['align' => 'right'], 'SELL.OUT/Pcs' => ['align' => 'right'], 'NOTE' => ['align' => 'left']]], 'oddCssClass' => Postman4ExcelBehavior::getCssClass("odd"), 'evenCssClass' => Postman4ExcelBehavior::getCssClass("even")], ['sheet_name' => 'DAILY REPORT QUALITY TIME', 'sheet_title' => [['DATE', 'SALES.NAME', 'CUSTOMERS.ID', 'CUSTOMERS', 'START.ABSENSI', 'END.ABSENSI', 'CHECK.IN', 'CHECK.OUT', 'VISIT.TIME', 'DISTANCE', 'STATUS', 'AREA', 'SCDL.EVENT', 'SCDL.AUTHORIZED']], 'ceils' => $excel_ceilsSalesQT, 'freezePane' => 'A2', 'headerColor' => Postman4ExcelBehavior::getCssClass("header"), 'headerStyle' => [['DATE' => ['align' => 'center'], 'SALES.NAME' => ['align' => 'center'], 'CUSTOMERS.ID' => ['align' => 'center'], 'CUSTOMERS' => ['align' => 'center'], 'START.ABSENSI' => ['align' => 'center'], 'END.ABSENSI' => ['align' => 'center'], 'CHECK.IN' => ['align' => 'center'], 'CHECK.OUT' => ['align' => 'center'], 'VISIT.TIME' => ['align' => 'center'], 'DISTANCE' => ['align' => 'center'], 'STATUS' => ['align' => 'center'], 'AREA' => ['align' => 'center'], 'SCDL.EVENT' => ['align' => 'center'], 'SCDL.AUTHORIZED' => ['align' => 'center']]], 'contentStyle' => [['DATE' => ['align' => 'center'], 'SALES.NAME' => ['align' => 'left'], 'CUSTOMERS.ID' => ['align' => 'center'], 'CUSTOMERS' => ['align' => 'left'], 'START.ABSENSI' => ['align' => 'center'], 'END.ABSENSI' => ['align' => 'center'], 'CHECK.IN' => ['align' => 'center'], 'CHECK.OUT' => ['align' => 'center'], 'VISIT.TIME' => ['align' => 'center'], 'DISTANCE' => ['align' => 'center'], 'STATUS' => ['align' => 'center'], 'AREA' => ['align' => 'left'], 'SCDL.EVENT' => ['align' => 'center'], 'SCDL.AUTHORIZED' => ['align' => 'left']]], 'oddCssClass' => Postman4ExcelBehavior::getCssClass("odd"), 'evenCssClass' => Postman4ExcelBehavior::getCssClass("even")], ['sheet_name' => 'DAILY REPORT EXPIRED DATE', 'sheet_title' => [['DATE', 'SALES.NAME', 'CUSTOMERS.ID', 'CUSTOMERS', 'KD_BARANG_ESM', 'ID_BARANG_DIST', 'NM_BARANG', 'QTY', 'DATE_EXPIRED']], 'ceils' => $excel_ceilsSalesExpired, 'freezePane' => 'A2', 'headerColor' => Postman4ExcelBehavior::getCssClass("header"), 'headerStyle' => [['DATE' => ['align' => 'center'], 'SALES.NAME' => ['align' => 'center'], 'CUSTOMERS.ID' => ['align' => 'center'], 'CUSTOMERS' => ['align' => 'center'], 'KD_BARANG_ESM' => ['align' => 'center'], 'ID_BARANG_DIST' => ['align' => 'center'], 'NM_BARANG' => ['align' => 'center'], 'QTY' => ['align' => 'center'], 'DATE_EXPIRED' => ['align' => 'center']]], 'contentStyle' => [['DATE' => ['align' => 'center'], 'SALES.NAME' => ['align' => 'left'], 'CUSTOMERS.ID' => ['align' => 'center'], 'CUSTOMERS' => ['align' => 'left'], 'KD_BARANG_ESM' => ['align' => 'center'], 'ID_BARANG_DIST' => ['align' => 'center'], 'NM_BARANG' => ['align' => 'left'], 'QTY' => ['align' => 'right'], 'DATE_EXPIRED' => ['align' => 'center']]], 'oddCssClass' => Postman4ExcelBehavior::getCssClass("odd"), 'evenCssClass' => Postman4ExcelBehavior::getCssClass("even")]];
         $excel_file = "PostmanDailySalesMd" . "-" . $tglIn;
         $this->export4excel($excel_content, $excel_file, 0);
         /**
          * EXPORT IMAGE64 & NAME FROM ARRAY DATA PROVIDER
          * SET ARRAY
          * @author Piter Novian [ptr.nov@gmail.com] 
          */
         $imgKosong = "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";
         //==DATA ROWs
         $aryDataImg = new ArrayDataProvider(['allModels' => Yii::$app->db_esm->createCommand("\r\n\t\t\t\t\t\tSELECT x1.TGL,x1.USER_ID,x1.USER_NM,x1.SALES_NM,x1.CUST_NM ,x1.IMG_DECODE_START,x1.IMG_DECODE_END\r\n\t\t\t\t\t\tFROM c0002rpt_cc_time x1 \r\n\t\t\t\t\t\tWHERE x1.TGL='" . $tglIn . "' AND x1.USER_ID NOT IN ('61','62')\r\n\t\t\t\t\t\t#GROUP BY x1.TGL,x1.USER_ID\t\t\t\t\t\r\n\t\t\t\t\t")->queryAll(), 'pagination' => ['pageSize' => 1000]]);
         //print_r($aryDataImg->getModels());
         //SET GROUPING USER_ID
         $dataGroup = self::array_group_by($aryDataImg->getModels(), 'USER_ID');
         //FOREACH GROUPING BY USER_ID
         foreach ($dataGroup as $key => $nilai) {
             //FIND FILTER BY KEY USER_ID
             $filterDataGroup = \yii\helpers\ArrayHelper::filter($dataGroup, [$key]);
             //SET OUT KEY/PARENT FILTER
             $isiDataGroup = [];
             foreach ($filterDataGroup as $row => $value) {
                 $isiDataGroup = ArrayHelper::merge($isiDataGroup, $filterDataGroup[$row]);
             }
             $dataRow1 = [];
             $dataRow2 = [];
             $aryRslt = [];
             //DATA RESULT
             foreach ($isiDataGroup as $row => $value) {
                 $img64row1 = [['img64' => $value['IMG_DECODE_START'] != '' ? $value['IMG_DECODE_START'] : $imgKosong, 'name' => $value['TGL'] . '_' . $value['CUST_NM'] . '_1START' . '-' . $value['SALES_NM'], 'tgl' => $value['TGL'], 'sales_nm' => $value['SALES_NM']]];
                 $img64row2 = [['img64' => $value['IMG_DECODE_END'] != '' ? $value['IMG_DECODE_END'] : $imgKosong, 'name' => $value['TGL'] . '_' . $value['CUST_NM'] . '_2END' . '-' . $value['SALES_NM'], 'tgl' => $value['TGL'], 'sales_nm' => $value['SALES_NM']]];
                 $dataRow1 = ArrayHelper::merge($dataRow1, $img64row1);
                 $dataRow2 = ArrayHelper::merge($dataRow2, $img64row2);
             }
             $aryRslt = ArrayHelper::merge($dataRow1, $dataRow2);
             /**
              * EXPORT IMAGE64 & NAME FROM ARRAY
              * PUT TO FILE & PATH
              * @author Piter Novian [ptr.nov@gmail.com] 
              */
             //$rootPathImageZip='/var/www/advanced/lukisongroup/cronjob/tmp_cronjob/img/';
             //$rootPathImageZip=Yii::getAlias('@lukisongroup').'/cronjob/tmp_cronjob/img/';
             $rootPathImageZip = '/var/www/backup/salesmd/photo/';
             foreach ($aryRslt as $key => $value) {
                 $dataImgScr = $value['img64'];
                 $namefile = $value['name'];
                 $img = str_replace('data:image/jpg;base64,', '', $dataImgScr);
                 $img = str_replace(' ', '+', $img);
                 $data = base64_decode($img);
                 $file = $rootPathImageZip . $namefile . '.jpg';
                 $success = file_put_contents($file, $data);
             }
             /**
              * IMAGE FILE TO ZIP
              * FOREACH NAME FROM ARRAY
              * REMOVE ALL IMAGE
              * @author Piter Novian [ptr.nov@gmail.com] 
              */
             $zip = new \ZipArchive();
             $tgl = $aryRslt[0]['tgl'];
             $sales_nm = $aryRslt[0]['sales_nm'];
             $zip_name = $rootPathImageZip . $tgl . '_visit_image-' . $sales_nm . '.zip';
             // Zip name
             $zip->open($zip_name, \ZipArchive::CREATE | \ZipArchive::OVERWRITE);
             foreach ($aryRslt as $file => $value) {
                 $path = $rootPathImageZip . $value['name'] . '.jpg';
                 if (file_exists($path)) {
                     $zip->addFromString(basename($path), file_get_contents($path));
                 } else {
                     echo "file does not exist";
                 }
                 unlink($path);
             }
             $zip->close();
         }
     }
 }
Esempio n. 5
0
 /**
  * Cache attribute items
  *
  * @since 0.0.1
  * @param {string} $attribute
  * @return {none}
  */
 private function cacheAttributeItems($attribute)
 {
     $nameItems = [];
     $unsupportItems = [];
     $_attribute = lcfirst(str_replace(' ', '', ucwords(str_replace('_', ' ', $attribute)))) . 'Items';
     if ($this->hasMethod($_attribute)) {
         $attributeitems = $this->{$_attribute}();
         $_defaultNameItems = $attributeitems[0];
         if ($_defaultNameItems && is_array($_defaultNameItems)) {
             $_scenario = [];
             foreach ($this->getActiveValidators($attribute) as $validator) {
                 if ($validator instanceof RangeValidator) {
                     $_scenario = ArrayHelper::merge($_scenario, ArrayHelper::filter($_defaultNameItems, $validator->range));
                 }
             }
             $nameItems[$this->scenario] = array_unique($_scenario);
             $nameItems['_default'] = $_defaultNameItems;
         }
         if (isset($attributeitems[1]) && is_array($attributeitems[1])) {
             $unsupportItems = $attributeitems[1];
         }
     }
     $this->_attributeNameItemsList[$attribute] = $nameItems;
     $this->_attributeUnsupportItemsList[$attribute] = $unsupportItems;
 }