- Timestamp:
- 2010/12/20 08:53:26 (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/version-2_5-dev/data/class/helper/SC_Helper_CSV.php
r19746 r19752 62 62 * @param string $where SQL の WHERE 句 63 63 * @param array $arrVal WHERE 句の要素 64 * @param array $order SQL の ORDER BY 句 64 65 * @return array CSV 項目の配列 65 66 */ 66 function sfgetCsvOutput($csv_id = "", $where = '0=0', $arrVal = array()){ 67 $objQuery = new SC_Query(); 68 $ret = array(); 69 70 $sql = <<< __EOS__ 71 SELECT 72 no, 73 csv_id, 74 col, 75 disp_name, 76 rank, 77 status, 78 create_date, 79 update_date, 80 mb_convert_kana_option 81 FROM 82 dtb_csv 83 __EOS__; 84 85 if (strlen($csv_id) >= 1) { 86 $where = "($where) AND csv_id = ?"; 67 function sfgetCsvOutput($csv_id = "", $where = '', $arrVal = array(), $order = 'rank, no'){ 68 $objQuery =& SC_Query::getSingletonInstance(); 69 70 $cols = 'no, csv_id, col, disp_name, rank, status, rw_flg, mb_convert_kana_option, size_const_type, error_check_types'; 71 $table = 'dtb_csv'; 72 73 if(SC_Utils_Ex::sfIsInt($csv_id)){ 74 if($where == "") { 75 $where = "csv_id = ?"; 76 }else{ 77 $where = "$where AND csv_id = ?"; 78 } 87 79 $arrVal[] = $csv_id; 88 80 } 89 90 if (strlen($where) >= 1) { 91 $sql .= " WHERE $where"; 92 } 93 94 $sql .= " ORDER BY "; 95 $sql .= " rank , no"; 96 $sql .= " "; 97 98 $ret = $objQuery->getAll($sql, $arrVal); 99 100 return $ret; 81 $objQuery->setOrder($order); 82 83 $arrRet = $objQuery->select($cols, $table, $where, $arrVal); 84 return $arrRet; 101 85 } 102 86 … … 121 105 } 122 106 107 /** 108 * CSVが出力設定でインポート可能かのチェック 109 * 110 * @param array sfgetCsvOutputで取得した内容(またはそれと同等の配列) 111 * @return boolean true:インポート可能、false:インポート不可 112 */ 113 function sfIsImportCSVFrame(&$arrCSVFrame) { 114 $result = true; 115 foreach($arrCSVFrame as $key => $val) { 116 if($val['status'] != "1" 117 and $val['rw_flg'] == "1" 118 and $val['error_check_types'] != "" 119 and stripos($val['error_check_types'], "EXIST_CHECK") !== FALSE) { 120 //必須フィールド 121 $result = false; 122 } 123 } 124 return $result; 125 } 126 127 /** 128 * CSVが出力設定で更新可能かのチェック 129 * 130 * @param array sfgetCsvOutputで取得した内容(またはそれと同等の配列) 131 * @return boolean true:更新可能、false:新規追加のみ不可 132 */ 133 function sfIsUpdateCSVFrame(&$arrCSVFrame) { 134 $result = true; 135 foreach($arrCSVFrame as $key => $val) { 136 if($val['status'] != "1" 137 and $val['rw_flg'] == "3") { 138 //キーフィールド 139 $result = false; 140 } 141 } 142 return $result; 143 } 144 145 /** 146 * CSVファイルのカウント数を得る. 147 * 148 * @param resource $fp fopenを使用して作成したファイルポインタ 149 * @return integer CSV のカウント数 150 */ 151 function sfGetCSVRecordCount($fp) { 152 153 $count = 0; 154 while(!feof($fp)) { 155 $arrCSV = fgetcsv($fp, CSV_LINE_MAX); 156 $count++; 157 } 158 // ファイルポインタを戻す 159 if (rewind($fp)) { 160 return $count-1; 161 } else { 162 return FALSE; 163 } 164 } 165 123 166 // CSV作成 コールバック関数 124 167 function cbOutputProductCSV($data) { … … 140 183 $arrOutputCols = $arrOutput['col']; 141 184 142 $objQuery = new SC_Query();185 $objQuery =& SC_Query::getSingletonInstance(); 143 186 $objQuery->setOrder($order); 144 187 145 188 $objProduct = new SC_Product(); 146 189 $cols = SC_Utils_Ex::sfGetCommaList($arrOutputCols, true); 147 $sql = $objQuery->getSql($cols, $objProduct->prdclsSQL(),$where); 190 // このWhereを足さないと無効な規格も出力される。現行仕様と合わせる為追加。 191 $inner_where = 'dtb_products_class.del_flg = 0'; 192 $sql = $objQuery->getSql($cols, $objProduct->prdclsSQL($inner_where),$where); 148 193 $header = $this->sfArrayToCSV($arrOutput['disp_name']); 149 194 $header = mb_convert_encoding($header, 'SJIS-Win'); … … 182 227 $cols = SC_Utils_Ex::sfGetCommaList($this->arrREVIEW_CVSCOL); 183 228 184 $objQuery = new SC_Query();229 $objQuery =& SC_Query::getSingletonInstance(); 185 230 $objQuery->setOption($option); 186 231 … … 201 246 $cols = SC_Utils_Ex::sfGetCommaList($this->arrTRACKBACK_CVSCOL); 202 247 203 $objQuery = new SC_Query();248 $objQuery =& SC_Query::getSingletonInstance(); 204 249 $objQuery->setOption($option); 205 250 … … 223 268 $arrOutputCols = $arrOutput['col']; 224 269 225 $objQuery = new SC_Query();270 $objQuery =& SC_Query::getSingletonInstance(); 226 271 $objQuery->setOrder('rank DESC'); 227 272 … … 254 299 $cols = SC_Utils_Ex::sfGetCommaList($arrCsvOutputCols); 255 300 256 $objQuery = new SC_Query();301 $objQuery =& SC_Query::getSingletonInstance(); 257 302 $objQuery->setOption($option); 258 303
Note: See TracChangeset
for help on using the changeset viewer.
