Changeset 17876


Ignore:
Timestamp:
2009/03/06 19:08:36 (15 years ago)
Author:
kajiwara
Message:

#292 顧客検索機能の追加。編集画面にて発送日が表示されない不具合を修正。(管理画面>受注管理にて新規受注が登録できる対応)

Location:
branches/version-2_4
Files:
4 added
2 edited

Legend:

Unmodified
Added
Removed
  • branches/version-2_4/data/Smarty/templates/default/admin/order/edit.tpl

    r17803 r17876  
    5555<input type="hidden" name="mode" value="<!--{$tpl_mode|default:"edit"}-->"> 
    5656<input type="hidden" name="order_id" value="<!--{$tpl_order_id}-->"> 
    57 <input type="hidden" name="edit_customer_id" value="<!--{$tpl_order_id}-->"> 
     57<input type="hidden" name="edit_customer_id" value=""> 
    5858<input type="hidden" name="anchor_key" value=""> 
    5959<input type="hidden" id="add_product_id" name="add_product_id" value=""> 
     
    153153                            <tr class="fs12n"> 
    154154                                <td bgcolor="#f2f1ec" width="110">発送日</td> 
    155                                 <td bgcolor="#ffffff"><!--{$arrForm.commit_date|sfDispDBDate|default:"未発送"}--></td> 
     155                                <td bgcolor="#ffffff"><!--{$arrForm.commit_date.value|sfDispDBDate|default:"未発送"}--></td> 
    156156                            </tr> 
    157157                        </table> 
     
    172172                            <!--{/foreach}--> 
    173173                            <tr class="fs12n"> 
    174                                 <td bgcolor="#f2f1ec" width="717" colspan="4">▼お客様情報</td> 
    175                             </tr> 
    176                             <!--{if $tpl_mode != 'add'}--> 
     174                                <td bgcolor="#f2f1ec" width="717" colspan="4">▼お客様情報 
     175                                <!--{if $tpl_mode == 'add'}--> 
     176                                    &nbsp;&nbsp;&nbsp;<input type="button" name="address_input" value="顧客検索" onclick="fnOpenWindow('<!--{$smarty.const.SITE_URL}-->admin/customer/search_customer.php','search','500','650'); return false;" /> 
     177                                <!--{/if}--> 
     178                                </td> 
     179                            </tr> 
    177180                                <tr class="fs12n"> 
    178181                                    <td bgcolor="#f2f1ec" width="110">受注番号</td> 
     
    182185                                    <!--{if $arrForm.customer_id.value > 0}--> 
    183186                                        <!--{$arrForm.customer_id.value}--> 
     187                                        <input type="hidden" name="customer_id" value="<!--{$arrForm.customer_id.value}-->"> 
    184188                                    <!--{else}--> 
    185189                                        (非会員) 
     
    190194                                    <td bgcolor="#f2f1ec" width="110">受注日</td> 
    191195                                    <td bgcolor="#ffffff" width="607" colspan="3"><!--{$arrForm.create_date.value|sfDispDBDate}--></td> 
     196                                    <input type="hidden" name="create_date" value="<!--{$arrForm.create_date.value}-->"> 
    192197                                </tr> 
    193                             <!--{/if}--> 
    194198                            <tr class="fs12n"> 
    195199                                <td bgcolor="#f2f1ec" width="110">顧客名</td> 
  • branches/version-2_4/data/class/pages/admin/order/LC_Page_Admin_Order_Edit.php

    r17804 r17876  
    156156 
    157157            if(count($this->arrErr) == 0) { 
    158                 #if(count($this->arrErr) == 0) { 
    159                     if ($_POST['mode'] == 'add') { 
    160                         $this->lfRegistNewData(); 
    161                         $text = "'新規受注を登録しました。'"; 
    162                     } else { 
    163                         $this->lfRegistData($_POST['order_id']); 
    164                         $text = "'受注履歴を編集しました。'"; 
    165                     } 
    166                     // DBから受注情報を再読込 
    167                     $this->lfGetOrderData($order_id); 
    168                     $this->tpl_onload = "window.alert(".$text.");"; 
    169                 #} 
     158                if ($_POST['mode'] == 'add') { 
     159                    $order_id = $this->lfRegistNewData(); 
     160 
     161                    $this->tpl_order_id = $order_id; 
     162                    $this->tpl_mode = 'edit'; 
     163 
     164                    $arrData['order_id'] = $order_id; 
     165                    $this->objFormParam->setParam($arrData); 
     166 
     167                    $text = "'新規受注を登録しました。'"; 
     168                } else { 
     169                    $this->lfRegistData($_POST['order_id']); 
     170                    $text = "'受注履歴を編集しました。'"; 
     171                } 
     172                // DBから受注情報を再読込 
     173                $this->lfGetOrderData($order_id); 
     174                $this->tpl_onload = "window.alert(".$text.");"; 
    170175            } 
    171176            break; 
     
    225230            // 入力値の変換 
    226231            $this->objFormParam->convParam(); 
     232            break; 
     233        /* 顧客検索ポップアップより顧客指定後、顧客情報取得*/ 
     234        case 'search_customer': 
     235            // POST情報で上書き 
     236            $this->objFormParam->setParam($_POST); 
     237 
     238            // 検索結果から顧客IDを指定された場合、顧客情報をフォームに代入する 
     239            $this->lfSetCustomerInfo($_POST['edit_customer_id']); 
     240 
    227241            break; 
    228242        /* F-REGI決済モジュール連携用 */ 
     
    389403        $this->objFormParam->addParam("受注番号", "order_id"); 
    390404        $this->objFormParam->addParam("受注日", "create_date"); 
     405        $this->objFormParam->addParam("発送日", "commit_date"); 
    391406    } 
    392407 
     
    587602            } 
    588603        } 
    589         $order_id = $objQuery->nextval('dtb_order', 'order_id'); 
     604 
     605        // postgresqlとmysqlとで処理を分ける 
     606        if (DB_TYPE == "pgsql") { 
     607            $order_id = $objQuery->nextval("dtb_order","order_id"); 
     608        }elseif (DB_TYPE == "mysql") { 
     609            $order_id = $objQuery->get_auto_increment("dtb_order"); 
     610        } 
     611 
    590612        $sqlval['order_id'] = $order_id; 
    591613        $sqlval['create_date'] = "Now()"; 
     
    652674        } 
    653675        $objQuery->commit(); 
     676 
     677        return $order_id; 
    654678    } 
    655679 
     
    697721        return $arrProduct; 
    698722    } 
     723 
     724    /** 
     725     * 検索結果から顧客IDを指定された場合、顧客情報をフォームに代入する 
     726     * @param int $edit_customer_id 顧客ID 
     727     */ 
     728    function lfSetCustomerInfo($edit_customer_id = ""){ 
     729        // 顧客IDが指定されている場合のみ、処理を実行する 
     730        if( $edit_customer_id === "" ) return ; 
     731 
     732        // 検索で選択された顧客IDが入力されている場合 
     733        if( is_null($edit_customer_id) === false && 0 < strlen($edit_customer_id) && SC_Utils_Ex::sfIsInt($edit_customer_id) ){ 
     734            $objQuery = new SC_Query(); 
     735 
     736            // 顧客情報を取得する 
     737            $arrCustomerInfo = $objQuery->select('*', 'dtb_customer', 'customer_id = ? AND del_flg = 0', array($edit_customer_id)); 
     738 
     739            // 顧客情報を取得する事が出来たら、テンプレートに値を渡す 
     740            if( 0 < count($arrCustomerInfo) && is_array($arrCustomerInfo) === true){ 
     741                // カラム名にorder_を付ける(テンプレート側でorder_がついている為 
     742                foreach($arrCustomerInfo[0] as $index=>$customer_info){ 
     743                    // customer_idにはorder_を付けないようにする 
     744                    $order_index = ($index == 'customer_id') ? $index : 'order_'.$index; 
     745                    $arrCustomer[$order_index] = $customer_info; 
     746                } 
     747            } 
     748 
     749            // hiddenに渡す 
     750            $this->edit_customer_id = $edit_customer_id; 
     751 
     752            // 受注日に現在の時刻を取得し、表示させる 
     753            $create_date = $objQuery->getall('SELECT now() as create_date;'); 
     754            $arrCustomer['create_date'] = $create_date[0]['create_date']; 
     755 
     756            // 情報上書き 
     757            $this->objFormParam->setParam($arrCustomer); 
     758            // 入力値の変換 
     759            $this->objFormParam->convParam(); 
     760        } 
     761    } 
    699762} 
    700763?> 
Note: See TracChangeset for help on using the changeset viewer.