Пример #1
0
 public function setStartCode()
 {
     $query = 'SELECT TOP 1 MemberCardNo FROM POS_Member WHERE MemberCardNo LIKE \'T%\' ORDER BY Code DESC';
     $res = Processor::execErp($query);
     $member = odbc_fetch_array($res);
     $this->code = getArrayVal($member, 'MemberCardNo');
     return $this;
 }
Пример #2
0
 public function copy(array $codes)
 {
     foreach ($codes as $code) {
         $lastSerNo = array_get(Processor::getArrayResult($this->genFetchLastSerNoQuery()), '0.SerNo');
         $row = Processor::getArrayResult($this->genSelectQuery([$code]));
         Processor::execErp($this->genInsertQuery($row[0], $lastSerNo));
     }
     return $this;
 }
Пример #3
0
 /**
  * 轉將指定的PIS_Goods(by Code),轉換為贈品
  * 
  * @param  array  $codes      [PIS_Goods 的 code 集合陣列]
  * @param  int 	  $beforeDays [幾天之內的天數]
  * @return array  $map 		  ["originCode" => 'newCode']            
  */
 public function convertToCGoods(array $codes, $beforeDays)
 {
     $map = [];
     foreach ($codes as $code) {
         Processor::execErp($this->getConvertyQuery($newCCode = $this->getNewCCode(), $code));
         $map[$code] = $newCCode;
     }
     return $map;
 }
Пример #4
0
 public static function fetchMightExistMembers($result)
 {
     $mightExistMembers = [];
     $nameQuery = self::getNameQuery(self::getNameList($result));
     if ($res = Processor::execErp($nameQuery)) {
         while ($mightExistMembers[] = odbc_fetch_array($res)) {
         }
     }
     return $mightExistMembers;
 }
Пример #5
0
 protected static function getBasicSheetCallback($columnFormatArray, $borderRange, $query, $headArray)
 {
     return function ($sheet) use($columnFormatArray, $borderRange, $query, $headArray) {
         $sheet->setAutoSize(true)->setFontFamily(ExportExcel::FONT_DEFAULT)->setFontSize(12)->setColumnFormat($columnFormatArray)->freezeFirstRow();
         $sheet->cells('A1:' . $borderRange . '1', function ($cells) {
             $cells->setBackground('#000000')->setFontColor('#ffffff')->setAlignment('center');
         });
         if ($res = Processor::execErp($query)) {
             $i = 0;
             $sheet->row(++$i, $headArray);
             while ($row = odbc_fetch_array($res)) {
                 c8res($row);
                 $sheet->row(++$i, $row);
             }
         }
     };
 }
Пример #6
0
 public function index()
 {
     $startTime = microtime(true);
     $i = 0;
     $codeIndexArray = $this->convertToCodeIndexArray();
     $res = Processor::execErp($this->genFetchQuery());
     while ($member = odbc_fetch_array($res)) {
         $cityAndStateArr = $this->getArrayVal($codeIndexArray, $member['HomeAddress_ZipCode'], ['city' => '', 'state' => '']);
         $member['HomeAddress'] = $cityAndStateArr['state'] . '$' . $cityAndStateArr['city'] . '$' . $this->c8($member['HomeAddress_Address']);
         $member['HomeAddress_Address'] = $this->c8($member['HomeAddress_Address']);
         $member['HomeAddress_City'] = $cityAndStateArr['city'];
         $member['HomeAddress_State'] = $cityAndStateArr['state'];
         $i++;
     }
     $endTime = microtime(true);
     $exectime = floor($endTime - $startTime);
     return view('basic.simple', ['title' => '會員地址修正', 'des' => '修正台北縣,空白的縣市和區,統一地址格式', 'res' => '共修正了' . $i . '筆,耗時' . $exectime . '秒']);
 }
Пример #7
0
 /**
  * genUpdateCCSOrderIndexQuerysByIterateOrderNos
  * 
  * @param  array  $orders
  * @return array        
  */
 public function genUpdateCCSOrderIndexQuerysByIterateOrderNosAndExecute(array &$orderNoTrees)
 {
     foreach ($orderNoTrees as $orderNoTree) {
         $orderNo = $orderNoTree->getFirstName();
         $newOrderNo = $this->getNewInsertCTOrderNo($this->getConvertOrderNo($orderNo));
         Processor::execErp("UPDATE CCS_OrderIndex SET OrderNo='{$newOrderNo}' WHERE OrderNo='{$orderNo}'");
         foreach ($orderNoTree->getChildren() as $child) {
             $newNo = $newOrderNo . $orderNoTree->fetchTailOfChild($child);
             Processor::execErp("UPDATE CCS_OrderDivIndex SET No='{$newNo}' WHERE No='{$child}'");
         }
         $orderNoTree->setFirstName($newOrderNo);
     }
     return $this;
 }
Пример #8
0
 public function updateProc(PosMemberImportContent $content)
 {
     Processor::execErp($this->getUpdateProcQuery($content));
     return $this->memberflagUpdateProc($content)->contentUpdateProc($content);
 }
Пример #9
0
 public function backmail()
 {
     set_time_limit(0);
     $startTime = microtime(true);
     $chunkSize = 200;
     $r = explode(',', file_get_contents(__DIR__ . '/backemail.txt'));
     $realGetCountTotal = 0;
     $totalNum = count($r);
     for ($i = 0; $i < $totalNum; $i = $i + $chunkSize) {
         $partialArr = array_slice($r, $i, $chunkSize);
         $data = Processor::getArrayResult($this->getQuery($partialArr));
         $realGetCount = count($data);
         echo "{$i}:realGet:{$realGetCount}<br/>";
         Processor::execErp($this->getUpdateQuery(array_pluck($data, 'SerNo')));
         $realGetCountTotal += $realGetCount;
     }
     $endTime = microtime(true);
     dd("費時:" . floor($endTime - $startTime) . ",共計{$realGetCountTotal}人");
 }