예제 #1
0
 /**
  * 出庫Gs128のデータを返す
  * @access public
  * @return array 出庫Gs128
  * @see Admin_ActionClass::perform()
  */
 public function perform()
 {
     // get request params ( search )
     $warehouse_id = $this->af->get('warehouse_id');
     $terminal_id = $this->af->get('terminal_id');
     $stock_out_no = $this->af->get('stock_out_no');
     $seq = $this->af->get('seq');
     $keyword = $this->af->get('keyword');
     // get request params ( pager )
     $limit = $this->af->get('limit');
     // default 50
     $page = $this->af->get('page');
     // default 1
     $order = $this->af->get('order');
     // default desc
     $column = $this->af->get('column');
     // default uriage_bi
     // get session params
     $company_id = $this->session->get('company_id');
     // setting pager
     $start_page = ($page - 1) * $limit + 1;
     $end_page = ($page - 1) * $limit + $limit;
     $output = array();
     try {
         $stock = DaoFactory::StockOutD();
         //検索
         $params = array();
         $params = array('company_id' => $company_id, 'warehouse_id' => array($warehouse_id), 'terminal_id' => array($terminal_id), 'stock_out_no' => $stock_out_no, 'seq' => $seq);
         $total = $stock->getStockoutDetailList($params);
         if (empty($total)) {
             $total[0] = array();
         }
         $params['warehouse_id'] = $warehouse_id;
         $params['terminal_id'] = $terminal_id;
         $params['start_page'] = $start_page;
         $params['end_page'] = $end_page;
         $params['order'] = $order;
         $params['column'] = $column;
         $params['keyword'] = $keyword;
         $list = $stock->getStockoutGs128List($params);
         // pager array setting
         $pagerData = array('result_page' => $page, 'result_start_num' => $start_page, 'result_end_num' => $end_page, 'result_all_count' => count($list) ? $list[0]['FOUND_ROWS'] : 0, 'result_get_count' => count($list), 'result_limit' => $limit, 'hyoji_kbn' => $hyoji_kbn);
         // output にセット
         $output['totalData'] = $total[0];
         $output['listData'] = $list;
         $output['pagerData'] = $pagerData;
     } catch (Exception $e) {
         // 致命的なエラーが発生
         return array('500', $e->getMessage());
     }
     return array('json', $output);
 }
예제 #2
0
 /**
  * 出庫一覧の保存が成功したかJSON形式で返す
  * @access public
  * @see Admin_ActionClass::perform()
  */
 function perform()
 {
     set_time_limit(DEFAULT_CSV_PROCESS_TIME_LIMIT);
     // 初期化
     $start_date = $this->af->get('start_date');
     $end_date = $this->af->get('end_date');
     $warehouse_id_arr = $this->af->get('warehouse_id_arr');
     $terminal_id_arr = $this->af->get('terminal_id_arr');
     $staff_id_arr = $this->af->get('staff_id_arr');
     $warehouse_id = $this->af->get('warehouse_id');
     $terminal_id = $this->af->get('terminal_id');
     $stock_out_no = $this->af->get('stock_out_no');
     $record_arr = $this->af->get('record_arr');
     $keyword = $this->af->get('keyword');
     $company_id = $this->session->get('company_id');
     $shohin_cd = trim($this->af->get('shohin_cd'));
     $shohin_mei = trim($this->af->get('shohin_mei'));
     $barcode = trim($this->af->get('barcode'));
     $stock_update_flg = trim($this->af->get('stock_update_flg'));
     if (!empty($record_arr)) {
         $params = array('company_id' => $company_id, 'record_arr' => $record_arr, 'shohin_cd' => $shohin_cd, 'shohin_mei' => $shohin_mei);
     } else {
         if (!empty($warehouse_id) && !empty($terminal_id) && !empty($stock_out_no)) {
             $params = array('company_id' => $company_id, 'warehouse_id' => $warehouse_id, 'terminal_id' => $terminal_id, 'stock_out_no' => $stock_out_no, 'shohin_cd' => $shohin_cd, 'shohin_mei' => $shohin_mei, 'barcode' => $barcode, 'stock_update_flg' => $stock_update_flg);
         } else {
             $params = array('company_id' => $company_id, 'start_date' => $start_date, 'end_date' => $end_date, 'warehouse_id_arr' => $warehouse_id_arr, 'terminal_id_arr' => $terminal_id_arr, 'staff_id_arr' => $staff_id_arr, 'keyword' => $keyword, 'shohin_cd' => $shohin_cd, 'shohin_mei' => $shohin_mei, 'barcode' => $barcode, 'stock_update_flg' => $stock_update_flg);
         }
     }
     try {
         // 一覧を取得
         $sth = DaoFactory::StockOutD()->getStockOutCsvData($params);
         // 書き込みクラスを生成
         require_once 'csv/StockOutDCsvWriter.class.php';
         $writer = new StockOutDCsvWriter();
     } catch (Exception $e) {
         // 致命的なエラーが発生
         $this->logger->log(LOG_DEBUG, $e->getTraceAsString());
         return array('500', $e->getMessage());
     }
     return array('csv', $writer, $sth, 'StockOutD' . date('YmdHis') . '.csv');
 }
예제 #3
0
 /**
  * xxxの保存が成功したかJSON形式で返す
  * @access public
  * @see Admin_ActionClass::perform()
  */
 function perform()
 {
     $flg = $this->af->get('flg');
     $company_id = $this->session->get('company_id');
     try {
         $params = array('company_id' => $company_id);
         $methodarr = array();
         $methodarr[] = 'setStockOutMDShohinCdNullForGtin14';
         $methodarr[] = 'setStockOutMDShohinCdNullForBarcode';
         $methodarr[] = 'setStockOutMDShohinCdNullByAi';
         $dao = DaoFactory::StockOutD();
         $dao->BeginTransaction();
         // 一覧を取得
         $null_num_before = $dao->getStockOutMDShohinCdNullCount($params);
         foreach ($methodarr as $method) {
             $res = $dao->{$method}($params);
             if (!$res) {
                 throw new Exception("DB更新が失敗しました");
             }
         }
         $null_num_after = $dao->getStockOutMDShohinCdNullCount($params);
         $dao->CommitTransaction();
         $dir = dirname(BASE) . DIRECTORY_SEPARATOR . 'batch';
         exec('php ' . $dir . DIRECTORY_SEPARATOR . 'batch_zaiko_all.php ' . $company_id . ' > /dev/null &');
         $output = array();
         $output['result'] = '0';
         $output['updated_count'] = intval($null_num_before) - intval($null_num_after);
         $output['null_num'] = $null_num_after;
         return array('json', $output);
     } catch (Exception $e) {
         // 致命的なエラーが発生
         $dao->AbortTransaction();
         $this->logger->log(LOG_DEBUG, $e->getTraceAsString());
         return array('500', $e->getMessage());
     }
     exit;
 }
예제 #4
0
 /**
  * 店舗状況一覧のデータを返す
  * @access public
  * @return array 店舗状況一覧
  * @see Admin_ActionClass::perform()
  */
 public function perform()
 {
     // get request params ( search )
     $hyoji_kbn = $this->af->get('hyoji_kbn');
     $start_date = $this->af->get('start_date');
     $end_date = $this->af->get('end_date');
     $warehouse_id_arr = $this->af->get('warehouse_id_arr');
     $terminal_id_arr = $this->af->get('terminal_id_arr');
     $staff_id_arr = $this->af->get('staff_id_arr');
     $keyword = $this->af->get('keyword');
     $shohin_cd = trim($this->af->get('shohin_cd'));
     $shohin_mei = trim($this->af->get('shohin_mei'));
     $barcode = trim($this->af->get('barcode'));
     $stock_update_flg = trim($this->af->get('stock_update_flg'));
     $ai = $this->af->get('ai');
     $ai_cd = $this->af->get('ai_cd');
     // get request params ( pager )
     // 		$limit = $this->af->get('limit');				// default 50
     $limit = 500;
     $page = $this->af->get('page');
     // default 1
     $order = $this->af->get('order');
     // default desc
     $column = $this->af->get('column');
     // default uriage_bi
     if ($hyoji_kbn == '1' && ($column == 'shohin_cd' || $column == 'shohin_mei' || $column == 'barcode' || $column == 'stock_update_flg')) {
         $column = '';
     }
     if ($column == 'stock_out_no') {
         $column = 'to_number(stock_out_no)';
     }
     // get session params
     $company_id = $this->session->get('company_id');
     // setting pager
     $start_page = ($page - 1) * $limit + 1;
     $end_page = ($page - 1) * $limit + $limit;
     $output = array();
     $ai_arr = array();
     if ('' != $ai) {
         $tmparr = explode(';', $ai);
         foreach ($tmparr as $value) {
             $row = explode('=', $value);
             $ai_arr[] = '%(' . str_replace('y', '_', $row[0]) . ')' . $row[1] . '%';
         }
     }
     try {
         $stock = DaoFactory::StockOutD();
         //検索
         $params = array();
         $params = array('company_id' => $company_id, 'start_date' => $start_date, 'end_date' => $end_date, 'start_page' => $start_page, 'warehouse_id' => $warehouse_id_arr, 'terminal_id' => $terminal_id_arr, 'staff_id' => $staff_id_arr, 'shohin_cd' => $shohin_cd, 'shohin_mei' => $shohin_mei, 'ai_arr' => $ai_arr, 'end_page' => $end_page, 'order' => $order, 'column' => $column, 'keyword' => $keyword, 'stock_update_flg' => $stock_update_flg, 'barcode' => $barcode);
         if ($hyoji_kbn == '1') {
             $list = $stock->getStockOutList($params);
         } else {
             $list = $stock->getStockOutDetailList($params);
         }
         // pager array setting
         $pagerData = array('result_page' => $page, 'result_start_num' => $start_page, 'result_end_num' => $end_page, 'result_all_count' => count($list) ? $list[0]['FOUND_ROWS'] : 0, 'result_get_count' => count($list), 'result_limit' => $limit, 'hyoji_kbn' => $hyoji_kbn);
         // output にセット
         $output['totalData'] = array();
         $output['listData'] = $list;
         $output['pagerData'] = $pagerData;
     } catch (Exception $e) {
         // 致命的なエラーが発生
         return array('500', $e->getMessage());
     }
     return array('json', $output);
 }