[15584] | 1 | <?php |
---|
| 2 | /* |
---|
[16582] | 3 | * This file is part of EC-CUBE |
---|
| 4 | * |
---|
[22206] | 5 | * Copyright(c) 2000-2013 LOCKON CO.,LTD. All Rights Reserved. |
---|
[15584] | 6 | * |
---|
| 7 | * http://www.lockon.co.jp/ |
---|
[16582] | 8 | * |
---|
| 9 | * This program is free software; you can redistribute it and/or |
---|
| 10 | * modify it under the terms of the GNU General Public License |
---|
| 11 | * as published by the Free Software Foundation; either version 2 |
---|
| 12 | * of the License, or (at your option) any later version. |
---|
| 13 | * |
---|
| 14 | * This program is distributed in the hope that it will be useful, |
---|
| 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
---|
| 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
---|
| 17 | * GNU General Public License for more details. |
---|
| 18 | * |
---|
| 19 | * You should have received a copy of the GNU General Public License |
---|
| 20 | * along with this program; if not, write to the Free Software |
---|
| 21 | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
---|
[15584] | 22 | */ |
---|
| 23 | |
---|
| 24 | // {{{ requires |
---|
[20534] | 25 | require_once CLASS_EX_REALDIR . 'page_extends/admin/LC_Page_Admin_Ex.php'; |
---|
[15584] | 26 | |
---|
| 27 | /** |
---|
[17269] | 28 | * 受注管理 のページクラス |
---|
[15584] | 29 | * |
---|
| 30 | * @package Page |
---|
| 31 | * @author LOCKON CO.,LTD. |
---|
| 32 | * @version $Id$ |
---|
| 33 | */ |
---|
[22567] | 34 | class LC_Page_Admin_Order extends LC_Page_Admin_Ex |
---|
| 35 | { |
---|
[15584] | 36 | |
---|
| 37 | // }}} |
---|
| 38 | // {{{ functions |
---|
| 39 | |
---|
| 40 | /** |
---|
| 41 | * Page を初期化する. |
---|
| 42 | * |
---|
| 43 | * @return void |
---|
| 44 | */ |
---|
[22567] | 45 | function init() |
---|
| 46 | { |
---|
[15584] | 47 | parent::init(); |
---|
| 48 | $this->tpl_mainpage = 'order/index.tpl'; |
---|
| 49 | $this->tpl_mainno = 'order'; |
---|
| 50 | $this->tpl_subno = 'index'; |
---|
[20128] | 51 | $this->tpl_pager = 'pager.tpl'; |
---|
[20911] | 52 | $this->tpl_maintitle = '受注管理'; |
---|
[15584] | 53 | $this->tpl_subtitle = '受注管理'; |
---|
| 54 | |
---|
| 55 | $masterData = new SC_DB_MasterData_Ex(); |
---|
[21481] | 56 | $this->arrORDERSTATUS = $masterData->getMasterData('mtb_order_status'); |
---|
| 57 | $this->arrORDERSTATUS_COLOR = $masterData->getMasterData('mtb_order_status_color'); |
---|
| 58 | $this->arrSex = $masterData->getMasterData('mtb_sex'); |
---|
| 59 | $this->arrPageMax = $masterData->getMasterData('mtb_page_max'); |
---|
[17269] | 60 | |
---|
[20499] | 61 | $objDate = new SC_Date_Ex(); |
---|
[20133] | 62 | // 登録・更新日検索用 |
---|
| 63 | $objDate->setStartYear(RELEASE_YEAR); |
---|
[20538] | 64 | $objDate->setEndYear(DATE('Y')); |
---|
[20133] | 65 | $this->arrRegistYear = $objDate->getYear(); |
---|
| 66 | // 生年月日検索用 |
---|
| 67 | $objDate->setStartYear(BIRTH_YEAR); |
---|
[20538] | 68 | $objDate->setEndYear(DATE('Y')); |
---|
[20133] | 69 | $this->arrBirthYear = $objDate->getYear(); |
---|
| 70 | // 月日の設定 |
---|
| 71 | $this->arrMonth = $objDate->getMonth(); |
---|
| 72 | $this->arrDay = $objDate->getDay(); |
---|
| 73 | |
---|
| 74 | // 支払い方法の取得 |
---|
[22537] | 75 | $this->arrPayments = SC_Helper_Payment_Ex::getIDValueList(); |
---|
[20133] | 76 | |
---|
[18187] | 77 | $this->httpCacheControl('nocache'); |
---|
[15584] | 78 | } |
---|
| 79 | |
---|
| 80 | /** |
---|
| 81 | * Page のプロセス. |
---|
| 82 | * |
---|
| 83 | * @return void |
---|
| 84 | */ |
---|
[22567] | 85 | function process() |
---|
| 86 | { |
---|
[19661] | 87 | $this->action(); |
---|
| 88 | $this->sendResponse(); |
---|
| 89 | } |
---|
| 90 | |
---|
| 91 | /** |
---|
| 92 | * Page のアクション. |
---|
| 93 | * |
---|
| 94 | * @return void |
---|
| 95 | */ |
---|
[22567] | 96 | function action() |
---|
| 97 | { |
---|
[21591] | 98 | |
---|
[20501] | 99 | $objFormParam = new SC_FormParam_Ex(); |
---|
[20133] | 100 | $this->lfInitParam($objFormParam); |
---|
| 101 | $objFormParam->setParam($_POST); |
---|
| 102 | $this->arrHidden = $objFormParam->getSearchArray(); |
---|
| 103 | $this->arrForm = $objFormParam->getFormParamList(); |
---|
[15584] | 104 | |
---|
[22306] | 105 | $objPurchase = new SC_Helper_Purchase_Ex(); |
---|
| 106 | |
---|
[21441] | 107 | switch ($this->getMode()) { |
---|
[21526] | 108 | // 削除 |
---|
| 109 | case 'delete': |
---|
[22306] | 110 | $order_id = $objFormParam->getValue('order_id'); |
---|
| 111 | $objPurchase->cancelOrder($order_id, ORDER_CANCEL, true); |
---|
[21526] | 112 | // 削除後に検索結果を表示するため breakしない |
---|
[15584] | 113 | |
---|
[21526] | 114 | // 検索パラメーター生成後に処理実行するため breakしない |
---|
| 115 | case 'csv': |
---|
| 116 | case 'delete_all': |
---|
[17269] | 117 | |
---|
[21526] | 118 | // 検索パラメーターの生成 |
---|
| 119 | case 'search': |
---|
| 120 | $objFormParam->convParam(); |
---|
| 121 | $objFormParam->trimParam(); |
---|
| 122 | $this->arrErr = $this->lfCheckError($objFormParam); |
---|
| 123 | $arrParam = $objFormParam->getHashArray(); |
---|
[15584] | 124 | |
---|
[21526] | 125 | if (count($this->arrErr) == 0) { |
---|
| 126 | $where = 'del_flg = 0'; |
---|
[21563] | 127 | $arrWhereVal = array(); |
---|
[21526] | 128 | foreach ($arrParam as $key => $val) { |
---|
| 129 | if ($val == '') { |
---|
| 130 | continue; |
---|
| 131 | } |
---|
[21563] | 132 | $this->buildQuery($key, $where, $arrWhereVal, $objFormParam); |
---|
[15584] | 133 | } |
---|
| 134 | |
---|
[21526] | 135 | $order = 'update_date DESC'; |
---|
[15584] | 136 | |
---|
[21526] | 137 | /* ----------------------------------------------- |
---|
| 138 | * 処理を実行 |
---|
| 139 | * ----------------------------------------------- */ |
---|
| 140 | switch ($this->getMode()) { |
---|
| 141 | // CSVを送信する。 |
---|
| 142 | case 'csv': |
---|
[21563] | 143 | $this->doOutputCSV($where, $arrWhereVal, $order); |
---|
[21592] | 144 | |
---|
[21743] | 145 | SC_Response_Ex::actionExit(); |
---|
[21526] | 146 | break; |
---|
[15584] | 147 | |
---|
[21526] | 148 | // 全件削除(ADMIN_MODE) |
---|
| 149 | case 'delete_all': |
---|
[22306] | 150 | $page_max = 0; |
---|
| 151 | $arrResults = $this->findOrders($where, $arrWhereVal, |
---|
| 152 | $page_max, 0, $order); |
---|
| 153 | foreach ($arrResults as $element) { |
---|
| 154 | $objPurchase->cancelOrder($element['order_id'], ORDER_CANCEL, true); |
---|
| 155 | } |
---|
[21526] | 156 | break; |
---|
[15584] | 157 | |
---|
[21526] | 158 | // 検索実行 |
---|
| 159 | default: |
---|
| 160 | // 行数の取得 |
---|
[21563] | 161 | $this->tpl_linemax = $this->getNumberOfLines($where, $arrWhereVal); |
---|
[21526] | 162 | // ページ送りの処理 |
---|
| 163 | $page_max = SC_Utils_Ex::sfGetSearchPageMax($objFormParam->getValue('search_page_max')); |
---|
| 164 | // ページ送りの取得 |
---|
| 165 | $objNavi = new SC_PageNavi_Ex($this->arrHidden['search_pageno'], |
---|
[21527] | 166 | $this->tpl_linemax, $page_max, |
---|
| 167 | 'fnNaviSearchPage', NAVI_PMAX); |
---|
[21526] | 168 | $this->arrPagenavi = $objNavi->arrPagenavi; |
---|
[15584] | 169 | |
---|
[21526] | 170 | // 検索結果の取得 |
---|
[21563] | 171 | $this->arrResults = $this->findOrders($where, $arrWhereVal, |
---|
[21526] | 172 | $page_max, $objNavi->start_row, $order); |
---|
| 173 | break; |
---|
| 174 | } |
---|
[15584] | 175 | } |
---|
[21526] | 176 | break; |
---|
| 177 | default: |
---|
| 178 | break; |
---|
[15584] | 179 | } |
---|
[21743] | 180 | |
---|
[15584] | 181 | } |
---|
| 182 | |
---|
| 183 | /** |
---|
| 184 | * デストラクタ. |
---|
| 185 | * |
---|
| 186 | * @return void |
---|
| 187 | */ |
---|
[22567] | 188 | function destroy() |
---|
| 189 | { |
---|
[15584] | 190 | parent::destroy(); |
---|
| 191 | } |
---|
| 192 | |
---|
[20133] | 193 | /** |
---|
[20970] | 194 | * パラメーター情報の初期化を行う. |
---|
[20133] | 195 | * |
---|
| 196 | * @param SC_FormParam $objFormParam SC_FormParam インスタンス |
---|
| 197 | * @return void |
---|
| 198 | */ |
---|
[22567] | 199 | function lfInitParam(&$objFormParam) |
---|
| 200 | { |
---|
[21514] | 201 | $objFormParam->addParam('注文番号1', 'search_order_id1', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK')); |
---|
| 202 | $objFormParam->addParam('注文番号2', 'search_order_id2', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK')); |
---|
| 203 | $objFormParam->addParam('対応状況', 'search_order_status', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK')); |
---|
| 204 | $objFormParam->addParam('注文者 お名前', 'search_order_name', STEXT_LEN, 'KVa', array('MAX_LENGTH_CHECK')); |
---|
| 205 | $objFormParam->addParam('注文者 お名前(フリガナ)', 'search_order_kana', STEXT_LEN, 'KVCa', array('KANA_CHECK','MAX_LENGTH_CHECK')); |
---|
| 206 | $objFormParam->addParam('性別', 'search_order_sex', INT_LEN, 'n', array('MAX_LENGTH_CHECK')); |
---|
| 207 | $objFormParam->addParam('年齢1', 'search_age1', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK')); |
---|
| 208 | $objFormParam->addParam('年齢2', 'search_age2', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK')); |
---|
| 209 | $objFormParam->addParam('メールアドレス', 'search_order_email', STEXT_LEN, 'KVa', array('MAX_LENGTH_CHECK')); |
---|
[21481] | 210 | $objFormParam->addParam('TEL', 'search_order_tel', STEXT_LEN, 'KVa', array('MAX_LENGTH_CHECK')); |
---|
[21514] | 211 | $objFormParam->addParam('支払い方法', 'search_payment_id', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK')); |
---|
| 212 | $objFormParam->addParam('購入金額1', 'search_total1', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK')); |
---|
| 213 | $objFormParam->addParam('購入金額2', 'search_total2', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK')); |
---|
| 214 | $objFormParam->addParam('表示件数', 'search_page_max', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK')); |
---|
[17883] | 215 | // 受注日 |
---|
[21514] | 216 | $objFormParam->addParam('開始年', 'search_sorderyear', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK')); |
---|
| 217 | $objFormParam->addParam('開始月', 'search_sordermonth', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK')); |
---|
| 218 | $objFormParam->addParam('開始日', 'search_sorderday', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK')); |
---|
| 219 | $objFormParam->addParam('終了年', 'search_eorderyear', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK')); |
---|
| 220 | $objFormParam->addParam('終了月', 'search_eordermonth', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK')); |
---|
| 221 | $objFormParam->addParam('終了日', 'search_eorderday', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK')); |
---|
[17883] | 222 | // 更新日 |
---|
[21514] | 223 | $objFormParam->addParam('開始年', 'search_supdateyear', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK')); |
---|
| 224 | $objFormParam->addParam('開始月', 'search_supdatemonth', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK')); |
---|
| 225 | $objFormParam->addParam('開始日', 'search_supdateday', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK')); |
---|
| 226 | $objFormParam->addParam('終了年', 'search_eupdateyear', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK')); |
---|
| 227 | $objFormParam->addParam('終了月', 'search_eupdatemonth', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK')); |
---|
| 228 | $objFormParam->addParam('終了日', 'search_eupdateday', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK')); |
---|
[17883] | 229 | // 生年月日 |
---|
[21514] | 230 | $objFormParam->addParam('開始年', 'search_sbirthyear', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK')); |
---|
| 231 | $objFormParam->addParam('開始月', 'search_sbirthmonth', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK')); |
---|
| 232 | $objFormParam->addParam('開始日', 'search_sbirthday', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK')); |
---|
| 233 | $objFormParam->addParam('終了年', 'search_ebirthyear', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK')); |
---|
| 234 | $objFormParam->addParam('終了月', 'search_ebirthmonth', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK')); |
---|
| 235 | $objFormParam->addParam('終了日', 'search_ebirthday', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK')); |
---|
| 236 | $objFormParam->addParam('購入商品','search_product_name',STEXT_LEN,'KVa',array('MAX_LENGTH_CHECK')); |
---|
| 237 | $objFormParam->addParam('ページ送り番号','search_pageno', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK')); |
---|
| 238 | $objFormParam->addParam('受注ID', 'order_id', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK')); |
---|
[15584] | 239 | } |
---|
| 240 | |
---|
[20133] | 241 | /** |
---|
| 242 | * 入力内容のチェックを行う. |
---|
| 243 | * |
---|
| 244 | * @param SC_FormParam $objFormParam SC_FormParam インスタンス |
---|
| 245 | * @return void |
---|
| 246 | */ |
---|
[22567] | 247 | function lfCheckError(&$objFormParam) |
---|
| 248 | { |
---|
[20503] | 249 | $objErr = new SC_CheckError_Ex($objFormParam->getHashArray()); |
---|
[20133] | 250 | $objErr->arrErr = $objFormParam->checkError(); |
---|
[15584] | 251 | |
---|
[20133] | 252 | // 相関チェック |
---|
[21514] | 253 | $objErr->doFunc(array('注文番号1', '注文番号2', 'search_order_id1', 'search_order_id2'), array('GREATER_CHECK')); |
---|
| 254 | $objErr->doFunc(array('年齢1', '年齢2', 'search_age1', 'search_age2'), array('GREATER_CHECK')); |
---|
| 255 | $objErr->doFunc(array('購入金額1', '購入金額2', 'search_total1', 'search_total2'), array('GREATER_CHECK')); |
---|
[17883] | 256 | // 受注日 |
---|
[21514] | 257 | $objErr->doFunc(array('開始', 'search_sorderyear', 'search_sordermonth', 'search_sorderday'), array('CHECK_DATE')); |
---|
| 258 | $objErr->doFunc(array('終了', 'search_eorderyear', 'search_eordermonth', 'search_eorderday'), array('CHECK_DATE')); |
---|
| 259 | $objErr->doFunc(array('開始', '終了', 'search_sorderyear', 'search_sordermonth', 'search_sorderday', 'search_eorderyear', 'search_eordermonth', 'search_eorderday'), array('CHECK_SET_TERM')); |
---|
[17883] | 260 | // 更新日 |
---|
[21514] | 261 | $objErr->doFunc(array('開始', 'search_supdateyear', 'search_supdatemonth', 'search_supdateday'), array('CHECK_DATE')); |
---|
| 262 | $objErr->doFunc(array('終了', 'search_eupdateyear', 'search_eupdatemonth', 'search_eupdateday'), array('CHECK_DATE')); |
---|
| 263 | $objErr->doFunc(array('開始', '終了', 'search_supdateyear', 'search_supdatemonth', 'search_supdateday', 'search_eupdateyear', 'search_eupdatemonth', 'search_eupdateday'), array('CHECK_SET_TERM')); |
---|
[17883] | 264 | // 生年月日 |
---|
[21514] | 265 | $objErr->doFunc(array('開始', 'search_sbirthyear', 'search_sbirthmonth', 'search_sbirthday'), array('CHECK_DATE')); |
---|
| 266 | $objErr->doFunc(array('終了', 'search_ebirthyear', 'search_ebirthmonth', 'search_ebirthday'), array('CHECK_DATE')); |
---|
| 267 | $objErr->doFunc(array('開始', '終了', 'search_sbirthyear', 'search_sbirthmonth', 'search_sbirthday', 'search_ebirthyear', 'search_ebirthmonth', 'search_ebirthday'), array('CHECK_SET_TERM')); |
---|
[15584] | 268 | |
---|
| 269 | return $objErr->arrErr; |
---|
| 270 | } |
---|
| 271 | |
---|
[20133] | 272 | /** |
---|
| 273 | * クエリを構築する. |
---|
| 274 | * |
---|
[20970] | 275 | * 検索条件のキーに応じた WHERE 句と, クエリパラメーターを構築する. |
---|
| 276 | * クエリパラメーターは, SC_FormParam の入力値から取得する. |
---|
[20133] | 277 | * |
---|
| 278 | * 構築内容は, 引数の $where 及び $arrValues にそれぞれ追加される. |
---|
| 279 | * |
---|
| 280 | * @param string $key 検索条件のキー |
---|
| 281 | * @param string $where 構築する WHERE 句 |
---|
[20970] | 282 | * @param array $arrValues 構築するクエリパラメーター |
---|
[20133] | 283 | * @param SC_FormParam $objFormParam SC_FormParam インスタンス |
---|
| 284 | * @return void |
---|
| 285 | */ |
---|
[22567] | 286 | function buildQuery($key, &$where, &$arrValues, &$objFormParam) |
---|
| 287 | { |
---|
[20484] | 288 | $dbFactory = SC_DB_DBFactory_Ex::getInstance(); |
---|
[20133] | 289 | switch ($key) { |
---|
[15584] | 290 | |
---|
[21526] | 291 | case 'search_product_name': |
---|
| 292 | $where .= ' AND EXISTS (SELECT 1 FROM dtb_order_detail od WHERE od.order_id = dtb_order.order_id AND od.product_name LIKE ?)'; |
---|
| 293 | $arrValues[] = sprintf('%%%s%%', $objFormParam->getValue($key)); |
---|
| 294 | break; |
---|
| 295 | case 'search_order_name': |
---|
| 296 | $where .= ' AND ' . $dbFactory->concatColumn(array('order_name01', 'order_name02')) . ' LIKE ?'; |
---|
[22522] | 297 | $arrValues[] = sprintf('%%%s%%', preg_replace('/[ ]/u', '', $objFormParam->getValue($key))); |
---|
[21526] | 298 | break; |
---|
| 299 | case 'search_order_kana': |
---|
| 300 | $where .= ' AND ' . $dbFactory->concatColumn(array('order_kana01', 'order_kana02')) . ' LIKE ?'; |
---|
[22522] | 301 | $arrValues[] = sprintf('%%%s%%', preg_replace('/[ ]/u', '', $objFormParam->getValue($key))); |
---|
[21526] | 302 | break; |
---|
| 303 | case 'search_order_id1': |
---|
| 304 | $where .= ' AND order_id >= ?'; |
---|
| 305 | $arrValues[] = sprintf('%d', $objFormParam->getValue($key)); |
---|
| 306 | break; |
---|
| 307 | case 'search_order_id2': |
---|
| 308 | $where .= ' AND order_id <= ?'; |
---|
| 309 | $arrValues[] = sprintf('%d', $objFormParam->getValue($key)); |
---|
| 310 | break; |
---|
| 311 | case 'search_order_sex': |
---|
| 312 | $tmp_where = ''; |
---|
| 313 | foreach ($objFormParam->getValue($key) as $element) { |
---|
| 314 | if ($element != '') { |
---|
| 315 | if (SC_Utils_Ex::isBlank($tmp_where)) { |
---|
| 316 | $tmp_where .= ' AND (order_sex = ?'; |
---|
| 317 | } else { |
---|
| 318 | $tmp_where .= ' OR order_sex = ?'; |
---|
| 319 | } |
---|
| 320 | $arrValues[] = $element; |
---|
[20133] | 321 | } |
---|
| 322 | } |
---|
| 323 | |
---|
[21526] | 324 | if (!SC_Utils_Ex::isBlank($tmp_where)) { |
---|
| 325 | $tmp_where .= ')'; |
---|
| 326 | $where .= " $tmp_where "; |
---|
| 327 | } |
---|
| 328 | break; |
---|
| 329 | case 'search_order_tel': |
---|
| 330 | $where .= ' AND (' . $dbFactory->concatColumn(array('order_tel01', 'order_tel02', 'order_tel03')) . ' LIKE ?)'; |
---|
| 331 | $arrValues[] = sprintf('%%%d%%', preg_replace('/[()-]+/','', $objFormParam->getValue($key))); |
---|
| 332 | break; |
---|
| 333 | case 'search_order_email': |
---|
| 334 | $where .= ' AND order_email LIKE ?'; |
---|
| 335 | $arrValues[] = sprintf('%%%s%%', $objFormParam->getValue($key)); |
---|
| 336 | break; |
---|
| 337 | case 'search_payment_id': |
---|
| 338 | $tmp_where = ''; |
---|
| 339 | foreach ($objFormParam->getValue($key) as $element) { |
---|
| 340 | if ($element != '') { |
---|
| 341 | if ($tmp_where == '') { |
---|
| 342 | $tmp_where .= ' AND (payment_id = ?'; |
---|
| 343 | } else { |
---|
| 344 | $tmp_where .= ' OR payment_id = ?'; |
---|
| 345 | } |
---|
| 346 | $arrValues[] = $element; |
---|
[20133] | 347 | } |
---|
| 348 | } |
---|
| 349 | |
---|
[21526] | 350 | if (!SC_Utils_Ex::isBlank($tmp_where)) { |
---|
| 351 | $tmp_where .= ')'; |
---|
| 352 | $where .= " $tmp_where "; |
---|
| 353 | } |
---|
| 354 | break; |
---|
| 355 | case 'search_total1': |
---|
| 356 | $where .= ' AND total >= ?'; |
---|
| 357 | $arrValues[] = sprintf('%d', $objFormParam->getValue($key)); |
---|
| 358 | break; |
---|
| 359 | case 'search_total2': |
---|
| 360 | $where .= ' AND total <= ?'; |
---|
| 361 | $arrValues[] = sprintf('%d', $objFormParam->getValue($key)); |
---|
| 362 | break; |
---|
| 363 | case 'search_sorderyear': |
---|
| 364 | $date = SC_Utils_Ex::sfGetTimestamp($objFormParam->getValue('search_sorderyear'), |
---|
| 365 | $objFormParam->getValue('search_sordermonth'), |
---|
| 366 | $objFormParam->getValue('search_sorderday')); |
---|
| 367 | $where.= ' AND create_date >= ?'; |
---|
| 368 | $arrValues[] = $date; |
---|
| 369 | break; |
---|
| 370 | case 'search_eorderyear': |
---|
| 371 | $date = SC_Utils_Ex::sfGetTimestamp($objFormParam->getValue('search_eorderyear'), |
---|
| 372 | $objFormParam->getValue('search_eordermonth'), |
---|
| 373 | $objFormParam->getValue('search_eorderday'), true); |
---|
| 374 | $where.= ' AND create_date <= ?'; |
---|
| 375 | $arrValues[] = $date; |
---|
| 376 | break; |
---|
| 377 | case 'search_supdateyear': |
---|
| 378 | $date = SC_Utils_Ex::sfGetTimestamp($objFormParam->getValue('search_supdateyear'), |
---|
| 379 | $objFormParam->getValue('search_supdatemonth'), |
---|
| 380 | $objFormParam->getValue('search_supdateday')); |
---|
| 381 | $where.= ' AND update_date >= ?'; |
---|
| 382 | $arrValues[] = $date; |
---|
| 383 | break; |
---|
| 384 | case 'search_eupdateyear': |
---|
| 385 | $date = SC_Utils_Ex::sfGetTimestamp($objFormParam->getValue('search_eupdateyear'), |
---|
| 386 | $objFormParam->getValue('search_eupdatemonth'), |
---|
| 387 | $objFormParam->getValue('search_eupdateday'), true); |
---|
| 388 | $where.= ' AND update_date <= ?'; |
---|
| 389 | $arrValues[] = $date; |
---|
| 390 | break; |
---|
| 391 | case 'search_sbirthyear': |
---|
| 392 | $date = SC_Utils_Ex::sfGetTimestamp($objFormParam->getValue('search_sbirthyear'), |
---|
| 393 | $objFormParam->getValue('search_sbirthmonth'), |
---|
| 394 | $objFormParam->getValue('search_sbirthday')); |
---|
| 395 | $where.= ' AND order_birth >= ?'; |
---|
| 396 | $arrValues[] = $date; |
---|
| 397 | break; |
---|
| 398 | case 'search_ebirthyear': |
---|
| 399 | $date = SC_Utils_Ex::sfGetTimestamp($objFormParam->getValue('search_ebirthyear'), |
---|
| 400 | $objFormParam->getValue('search_ebirthmonth'), |
---|
| 401 | $objFormParam->getValue('search_ebirthday'), true); |
---|
| 402 | $where.= ' AND order_birth <= ?'; |
---|
| 403 | $arrValues[] = $date; |
---|
| 404 | break; |
---|
| 405 | case 'search_order_status': |
---|
| 406 | $where.= ' AND status = ?'; |
---|
| 407 | $arrValues[] = $objFormParam->getValue($key); |
---|
| 408 | break; |
---|
| 409 | default: |
---|
| 410 | break; |
---|
[20133] | 411 | } |
---|
| 412 | } |
---|
| 413 | |
---|
| 414 | /** |
---|
| 415 | * 受注を削除する. |
---|
| 416 | * |
---|
| 417 | * @param string $where 削除対象の WHERE 句 |
---|
| 418 | * @param array $arrParam 削除対象の値 |
---|
| 419 | * @return void |
---|
| 420 | */ |
---|
[22567] | 421 | function doDelete($where, $arrParam = array()) |
---|
| 422 | { |
---|
[20507] | 423 | $objQuery =& SC_Query_Ex::getSingletonInstance(); |
---|
[20906] | 424 | $sqlval['del_flg'] = 1; |
---|
[21185] | 425 | $sqlval['update_date'] = 'CURRENT_TIMESTAMP'; |
---|
[21481] | 426 | $objQuery->update('dtb_order', $sqlval, $where, $arrParam); |
---|
[20133] | 427 | } |
---|
| 428 | |
---|
| 429 | /** |
---|
| 430 | * CSV データを構築して取得する. |
---|
| 431 | * |
---|
| 432 | * 構築に成功した場合は, ファイル名と出力内容を配列で返す. |
---|
| 433 | * 構築に失敗した場合は, false を返す. |
---|
| 434 | * |
---|
| 435 | * @param string $where 検索条件の WHERE 句 |
---|
[20970] | 436 | * @param array $arrVal 検索条件のパラメーター |
---|
[20133] | 437 | * @param string $order 検索結果の並び順 |
---|
[20736] | 438 | * @return void |
---|
[20133] | 439 | */ |
---|
[22567] | 440 | function doOutputCSV($where, $arrVal, $order) |
---|
| 441 | { |
---|
[20736] | 442 | $objCSV = new SC_Helper_CSV_Ex(); |
---|
[21481] | 443 | $objCSV->sfDownloadCsv('3', $where, $arrVal, $order, true); |
---|
[20133] | 444 | } |
---|
| 445 | |
---|
| 446 | /** |
---|
| 447 | * 検索結果の行数を取得する. |
---|
| 448 | * |
---|
| 449 | * @param string $where 検索条件の WHERE 句 |
---|
[20970] | 450 | * @param array $arrValues 検索条件のパラメーター |
---|
[20133] | 451 | * @return integer 検索結果の行数 |
---|
| 452 | */ |
---|
[22567] | 453 | function getNumberOfLines($where, $arrValues) |
---|
| 454 | { |
---|
[20507] | 455 | $objQuery =& SC_Query_Ex::getSingletonInstance(); |
---|
[20133] | 456 | return $objQuery->count('dtb_order', $where, $arrValues); |
---|
| 457 | } |
---|
| 458 | |
---|
| 459 | /** |
---|
| 460 | * 受注を検索する. |
---|
| 461 | * |
---|
| 462 | * @param string $where 検索条件の WHERE 句 |
---|
[20970] | 463 | * @param array $arrValues 検索条件のパラメーター |
---|
[20133] | 464 | * @param integer $limit 表示件数 |
---|
| 465 | * @param integer $offset 開始件数 |
---|
| 466 | * @param string $order 検索結果の並び順 |
---|
| 467 | * @return array 受注の検索結果 |
---|
| 468 | */ |
---|
[22567] | 469 | function findOrders($where, $arrValues, $limit, $offset, $order) |
---|
| 470 | { |
---|
[20507] | 471 | $objQuery =& SC_Query_Ex::getSingletonInstance(); |
---|
[22306] | 472 | if ($limit != 0) { |
---|
| 473 | $objQuery->setLimitOffset($limit, $offset); |
---|
| 474 | } |
---|
[20133] | 475 | $objQuery->setOrder($order); |
---|
| 476 | return $objQuery->select('*', 'dtb_order', $where, $arrValues); |
---|
| 477 | } |
---|
[15584] | 478 | } |
---|