Changeset 19963


Ignore:
Timestamp:
2011/01/19 04:13:21 (10 years ago)
Author:
nanasess
bzr:base-revision:
svn-v4:1e3b908f-19a9-db11-a64c-001125224ba8:branches/version-2_5-dev:19962
bzr:committer:
Kentaro Ohkouchi <ohkouchi@loop-az.jp>
bzr:file-ids:

data/Smarty/templates/admin/customer/search_customer.tpl 18068@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Fcomu-ver2%2Fdata%2FSmarty%2Ftemplates%2Fdefault%2Fadmin%2Fcustomer%2Fsearch_customer.tpl
data/Smarty/templates/admin/order/edit.tpl 15732@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2FSmarty%2Ftemplates%2Fdefault%2Fadmin%2Forder%2Fedit.tpl
data/Smarty/templates/admin/order/multiple.tpl multiple.tpl-20110116173102-7dtlp9lt15miha2l-1
data/class/helper/SC_Helper_DB.php 15176@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2Fclass%2Fhelper%2FSC_Helper_DB.php
data/class/helper/SC_Helper_Purchase.php sc_helper_purchase.p-20101020100530-jyaoa7ch9pdfjqzp-1
data/class/pages/admin/order/LC_Page_Admin_Order_Edit.php 15594@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2Fclass%2Fpages%2Fadmin%2Forder%2FLC_Page_Admin_Order_Edit.php
bzr:mapping-version:
v4
bzr:merge:

ohkouchi@loop-az.jp-20110118191202-tmjlvrfe8ftnjeak
bzr:repository-uuid:
1e3b908f-19a9-db11-a64c-001125224ba8
bzr:revision-id:
ohkouchi@loop-az.jp-20110118191310-c3ybk9px2xg63hkd
bzr:revno:
2692
bzr:revprop:branch-nick:
branches/version-2_5-dev
bzr:root:
branches/version-2_5-dev
bzr:text-revisions:

data/Smarty/templates/admin/customer/search_customer.tpl ohkouchi@loop-az.jp-20110118191202-tmjlvrfe8ftnjeak
data/Smarty/templates/admin/order/edit.tpl ohkouchi@loop-az.jp-20110118191202-tmjlvrfe8ftnjeak
data/Smarty/templates/admin/order/multiple.tpl ohkouchi@loop-az.jp-20110118191202-tmjlvrfe8ftnjeak
data/class/helper/SC_Helper_DB.php ohkouchi@loop-az.jp-20110118191202-tmjlvrfe8ftnjeak
data/class/helper/SC_Helper_Purchase.php ohkouchi@loop-az.jp-20110118191202-tmjlvrfe8ftnjeak
data/class/pages/admin/order/LC_Page_Admin_Order_Edit.php ohkouchi@loop-az.jp-20110118191202-tmjlvrfe8ftnjeak
bzr:timestamp:
2011-01-19 04:13:10.059999943 +0900
bzr:user-agent:
bzr2.2.1+bzr-svn1.0.4
svn:original-date:
2011-01-18T19:13:10.060000Z
Message:

#843(複数配送先の指定)

  • 更新処理を修正
Location:
branches/version-2_5-dev/data
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • branches/version-2_5-dev/data/Smarty/templates/admin/customer/search_customer.tpl

    r19954 r19963  
    7979<!--{if $smarty.post.mode == 'search' }--> 
    8080    <!--▼検索結果表示--> 
    81     <table width="420" border="0" cellspacing="0" cellpadding="0" summary=" " bgcolor="#FFFFFF"> 
    8281        <!--{if $tpl_linemax > 0}--> 
    83             <tr class="fs12"> 
    84                 <td align="left"><!--{$tpl_linemax}-->件が該当しました。 </td> 
    85             </tr> 
     82        <p><!--{$tpl_linemax}-->件が該当しました。<!--{$tpl_strnavi}--></p> 
    8683        <!--{/if}--> 
    87         <tr class="fs12"> 
    88             <td align="center"> 
    89             <!--▼ページナビ--> 
    90             <!--{$tpl_strnavi}--> 
    91             <!--▲ページナビ--> 
    92             </td> 
    93         </tr> 
    94         <tr><td height="10"></td></tr> 
    95     </table> 
    9684 
    9785    <!--▼検索後表示部分--> 
    98     <table width="420" border="0" cellspacing="1" cellpadding="5" bgcolor="#cccccc"> 
    99         <tr bgcolor="#f0f0f0" align="center" class="fs12"> 
    100             <td>顧客ID</td> 
    101             <td>顧客名(カナ)</td> 
    102             <td>TEL</td> 
    103             <td>決定</td> 
     86    <table class="list"> 
     87        <tr> 
     88            <th>顧客ID</th> 
     89            <th>顧客名(カナ)</th> 
     90            <th>TEL</th> 
     91            <th>決定</th> 
    10492        </tr> 
    10593        <!--{section name=cnt loop=$arrCustomer}--> 
    10694        <!--▼顧客<!--{$smarty.section.cnt.iteration}-->--> 
    107         <tr bgcolor="#FFFFFF" class="fs12n"> 
    108             <td width="90" align="center"> 
     95        <tr> 
     96            <td> 
    10997            <!--{$arrCustomer[cnt].customer_id|h}--> 
    11098            </td> 
     
    115103        <!--▲商品<!--{$smarty.section.cnt.iteration}-->--> 
    116104        <!--{sectionelse}--> 
    117         <tr bgcolor="#FFFFFF" class="fs10n"> 
     105        <tr> 
    118106            <td colspan="4">会員情報が存在しません。</td> 
    119107        </tr> 
  • branches/version-2_5-dev/data/Smarty/templates/admin/order/edit.tpl

    r19954 r19963  
    3535        df = document.form1; 
    3636 
    37         df.deliv_name01.value = df.order_name01.value; 
    38         df.deliv_name02.value = df.order_name02.value; 
    39         df.deliv_kana01.value = df.order_kana01.value; 
    40         df.deliv_kana02.value = df.order_kana02.value; 
    41         df.deliv_zip01.value = df.order_zip01.value; 
    42         df.deliv_zip02.value = df.order_zip02.value; 
    43         df.deliv_tel01.value = df.order_tel01.value; 
    44         df.deliv_tel02.value = df.order_tel02.value; 
    45         df.deliv_tel03.value = df.order_tel03.value; 
    46         df.deliv_pref.value = df.order_pref.value; 
    47         df.deliv_addr01.value = df.order_addr01.value; 
    48         df.deliv_addr02.value = df.order_addr02.value; 
     37        df.shipping_name01_0.value = df.order_name01.value; 
     38        df.shipping_name02_0.value = df.order_name02.value; 
     39        df.shipping_kana01_0.value = df.order_kana01.value; 
     40        df.shipping_kana02_0.value = df.order_kana02.value; 
     41        df.shipping_zip01_0.value = df.order_zip01.value; 
     42        df.shipping_zip02_0.value = df.order_zip02.value; 
     43        df.shipping_tel01_0.value = df.order_tel01.value; 
     44        df.shipping_tel02_0.value = df.order_tel02.value; 
     45        df.shipping_tel03_0.value = df.order_tel03.value; 
     46        df.shipping_pref_0.value = df.order_pref.value; 
     47        df.shipping_addr01_0.value = df.order_addr01.value; 
     48        df.shipping_addr02_0.value = df.order_addr02.value; 
    4949    } 
    5050 
     
    6262        return false; 
    6363    } 
     64 
     65    function fnAppendShipping() { 
     66        document.form1.anchor_key.value = "shipping"; 
     67        document.form1.mode.value = "append_shipping"; 
     68        document.form1.submit(); 
     69        return false; 
     70    } 
     71 
    6472//--> 
    6573</script> 
     
    348356        <!--{/if}--> 
    349357    </table> 
    350  
     358    <!--{assign var=key value="shipping_quantity"}--> 
     359    <input type="hidden" name="<!--{$key}-->" value="<!--{$arrForm[$key].value|h}-->" /> 
    351360    <!--▼お届け先情報ここから--> 
    352361    <a name="shipping"></a> 
    353362    <h2>お届け先情報 
     363    <!--{if $arrForm.shipping_quantity.value <= 1}--> 
    354364        <a class="btn-normal" href="javascript:;" onclick="fnCopyFromOrderData();">お客様情報へお届けする</a> 
    355         <a class="btn-normal" href="javascript:;"  onclick="fnCopyFromOrderData();">お届け先を新規追加</a> 
     365    <!--{/if}--> 
     366        <a class="btn-normal" href="javascript:;"  onclick="fnAppendShipping();">お届け先を新規追加</a> 
    356367        <a class="btn-normal" href="javascript:;" onclick="fnMultiple();">複数のお届け先を指定する</a> 
    357368    </h2> 
    358  
    359     <!--{assign var=key value="shipping_quantity"}--> 
    360     <input type="hidden" name="<!--{$key}-->" value="<!--{$arrForm[$key].value|h}-->" /> 
    361369 
    362370    <!--{section name=shipping loop=$arrForm.shipping_quantity.value}--> 
     
    367375    <h3>お届け先<!--{$smarty.section.shipping.iteration}--></h3> 
    368376    <!--{/if}--> 
    369  
     377    <input type="hidden" name="shipping_id_<!--{$shipping_id}-->" value="<!--{$shipping_id}-->" id="shipping_id_<!--{$shipping_id}-->" /> 
    370378    <!--{if $arrForm.shipping_quantity.value > 1}--> 
    371379    <!--{assign var=product_quantity value="shipping_product_quantity_`$shipping_id`"}--> 
    372380    <input type="hidden" name="<!--{$product_quantity}-->" value="<!--{$arrForm[$product_quantity].value|h}-->" /> 
    373     <input type="hidden" name="shipping_id_<!--{$shipping_id}-->" value="<!--{$shipping_id}-->" id="shipping_id_<!--{$shipping_id}-->" /> 
     381 
     382    <!--{if $arrForm[$product_quantity].value > 0}--> 
    374383    <table class="list" id="order-edit-products"> 
    375384      <tr> 
     
    382391      <!--{assign var=item_index value="`$smarty.section.item.index`"}--> 
    383392      <!--{assign var=product_class_id value=$arrProductClassIds[$shipping_index][$item_index]}--> 
     393 
    384394      <tr> 
    385395        <td> 
     396          <!--{assign var=key value="product_class_id_`$shipping_id`_`$product_class_id`"}--> 
     397          <input type="hidden" name="<!--{$key}-->" value="<!--{$arrForm[$key].value|h}-->" /> 
    386398          <!--{assign var=key value="product_code_`$shipping_id`_`$product_class_id`"}--> 
    387399          <input type="hidden" name="<!--{$key}-->" value="<!--{$arrForm[$key].value|h}-->" /> 
     
    411423    </table> 
    412424    <!--{/if}--> 
     425    <!--{/if}--> 
    413426 
    414427    <table class="form"> 
  • branches/version-2_5-dev/data/Smarty/templates/admin/order/multiple.tpl

    r19954 r19963  
    8888            var q = $('<td />').addClass('center') 
    8989                .append(idfield) 
     90                .append(codefield) 
    9091                .append(namefield) 
    9192                .append(class1field) 
     
    132133    $('input[name^=multiple_], select[name^=multiple_]').each(function() { 
    133134        // TODO タグをベタ書きにしないと, innerHTML で value が空になってしまう 
    134         $(div).append('<input type="hidden" name="' 
     135        $(div).append('<input type="text" name="' 
    135136                      + $(this).attr('name') 
    136137                      + '" value="' + $(this).val() + '" />'); 
  • branches/version-2_5-dev/data/class/helper/SC_Helper_DB.php

    r19928 r19963  
    17681768    /** 
    17691769     * 受注の名称列を更新する 
     1770     * 
     1771     * FIXME 
    17701772     * 
    17711773     * @param integer $order_id 更新対象の注文番号 
  • branches/version-2_5-dev/data/class/helper/SC_Helper_Purchase.php

    r19949 r19963  
    475475__EOS__; 
    476476            $objQuery->setOrder("time_id"); 
    477             $where = "deliv_id = ?"; 
    478477            $results = $objQuery->select("time_id, deliv_time", $from, 
    479478                                         "product_type_id = ?", array($productTypeId)); 
  • branches/version-2_5-dev/data/class/pages/admin/order/LC_Page_Admin_Order_Edit.php

    r19949 r19963  
    108108        // 表示モード判定 
    109109        if(isset($_GET['order_id']) && 
    110             SC_Utils_Ex::sfIsInt($_GET['order_id'])) { 
     110           SC_Utils_Ex::sfIsInt($_GET['order_id'])) { 
    111111            $this->disp_mode = true; 
    112112            $order_id = $_GET['order_id']; 
     
    117117 
    118118        // DBから受注情報を読み込む 
    119         $this->lfGetOrderData($order_id); 
     119        if (!SC_Utils_Ex::isBlank($order_id)) { 
     120            $this->lfGetOrderData($order_id); 
     121        } 
    120122 
    121123        switch($_POST['mode']) { 
     
    134136            if(count($this->arrErr) == 0) { 
    135137                if ($_POST['mode'] == 'add') { 
    136                     $order_id = $this->lfRegistNewData(); 
     138                    $order_id = $this->lfRegistNewData($objPurchase); 
    137139 
    138140                    $this->tpl_order_id = $order_id; 
     
    144146                    $text = "'新規受注を登録しました。'"; 
    145147                } else { 
    146                     $this->lfRegistData($_POST['order_id']); 
     148                    $this->lfRegistData($_POST['order_id'], $objPurchase); 
    147149                    $text = "'受注履歴を編集しました。'"; 
    148150                } 
    149151                // DBから受注情報を再読込 
    150152                $this->lfGetOrderData($order_id); 
     153                $this->lfInitShippingParam($this->arrShipping); 
     154                $this->objFormParam->setParam($_POST); 
    151155                $this->tpl_onload = "window.alert(".$text.");"; 
    152156            } 
    153157            break; 
    154             // 再計算 
     158        // 再計算 
    155159        case 'cheek': 
    156160        //支払い方法の選択 
    157161        case 'payment': 
    158162            // POST情報で上書き 
     163            $this->lfInitShippingParam($this->arrShipping); 
    159164            $this->objFormParam->setParam($_POST); 
    160165            // 入力値の変換 
     
    178183            } 
    179184            // 情報上書き 
     185            $this->lfInitShippingParam($this->arrShipping); 
    180186            $this->objFormParam->setParam($arrData); 
    181187            // 入力値の変換 
     
    200206                } 
    201207            } 
     208 
    202209            // 情報上書き 
     210            $this->lfInitShippingParam($this->arrShipping); 
    203211            $this->objFormParam->setParam($arrData); 
    204212            // 入力値の変換 
     
    209217        case 'search_customer': 
    210218            // POST情報で上書き 
     219            $this->lfInitShippingParam($this->arrShipping); 
    211220            $this->objFormParam->setParam($_POST); 
    212221 
     
    218227        // 複数配送設定表示 
    219228        case 'multiple': 
     229            $this->lfInitShippingParam($this->arrShipping); 
    220230            $this->objFormParam->setParam($_POST); 
     231            // 入力値の変換 
     232            $this->objFormParam->convParam(); 
     233            $this->arrErr = $this->lfCheckError(); 
    221234            break; 
    222235 
     
    226239            $this->lfInitMultipleParam($multipleSize); 
    227240            $this->objFormParam->setParam($_POST); 
     241            $this->lfInitShippingParam($this->arrShipping); 
    228242            $this->setMultipleItemTo($multipleSize); 
    229243            break; 
     244 
     245        // お届け先の追加 
     246        case 'append_shipping': 
     247            $this->lfInitShippingParam($this->arrShipping, true); 
     248            $this->objFormParam->setParam($_POST); 
     249            // 入力値の変換 
     250            $this->objFormParam->convParam(); 
     251            break; 
     252 
    230253        default: 
     254            // お届け先の初期表示 
     255            $this->lfInitShippingParam(); 
    231256            break; 
    232257        } 
     
    236261 
    237262        $this->arrForm = $this->objFormParam->getFormParamList(); 
     263 
    238264        // XXX 商品種別IDは0番目の配列を使用 
    239265        $this->product_type_id = $this->arrForm['product_type_id']['value'][0]; 
     
    251277        $objSiteInfo = new SC_SiteInfo(); 
    252278        $this->arrInfo = $objSiteInfo->data; 
    253  
    254279        // 表示モード判定 
    255280        if(!$this->disp_mode) { 
     
    300325        $this->objFormParam->addParam("対応状況", "status", INT_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK")); 
    301326        $this->objFormParam->addParam("お支払方法名称", "payment_method"); 
    302  
    303327 
    304328        // 受注詳細情報 
     
    334358     * お届け先用フォームの初期化 
    335359     */ 
    336     function lfInitShippingParam(&$arrShipping) { 
    337         $this->objFormParam->addParam("配送数", "shipping_quantity", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK")); 
     360    function lfInitShippingParam($arrShipping = array(), $add = false) { 
     361        if (empty($arrShipping) && !$add) { 
     362            $arrShipping[0]['shipping_id'] = 0; 
     363            $this->arrShippingIds[0] = 0; 
     364            $_POST['shipping_quantity'] = 1; 
     365        } 
     366 
     367        if ($add) { 
     368            $_POST['shipping_quantity'] = $_POST['shipping_quantity'] + 1; 
     369        } 
     370        for ($i = 0; $i < $_POST['shipping_quantity']; $i++) { 
     371            $arrShipping[$i]['shipping_id'] = $i; 
     372            $this->arrShippingIds[$i] = $i; 
     373        } 
     374 
     375        $this->objFormParam->addParam("配送数", "shipping_quantity", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK"), 1); 
     376        $this->objFormParam->setValue('shipping_quantity', $_POST['shipping_quantity']); 
     377 
    338378        foreach ($arrShipping as $shipping) { 
    339             $this->objFormParam->addParam("配送ID", "shipping_id_" . $shipping['shipping_id'], INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK")); 
    340             $this->objFormParam->addParam("お名前1", "shipping_name01_" . $shipping['shipping_id'], STEXT_LEN, "KVa", array("SPTAB_CHECK", "MAX_LENGTH_CHECK")); 
    341             $this->objFormParam->addParam("お名前2", "shipping_name02_" . $shipping['shipping_id'], STEXT_LEN, "KVa", array("SPTAB_CHECK", "MAX_LENGTH_CHECK")); 
    342             $this->objFormParam->addParam("お名前(フリガナ・姓)", "shipping_kana01_" . $shipping['shipping_id'], STEXT_LEN, "KVCa", array("SPTAB_CHECK", "MAX_LENGTH_CHECK")); 
    343             $this->objFormParam->addParam("お名前(フリガナ・名)", "shipping_kana02_" . $shipping['shipping_id'], STEXT_LEN, "KVCa", array("SPTAB_CHECK", "MAX_LENGTH_CHECK")); 
     379            $this->objFormParam->addParam("配送ID", "shipping_id_" . $shipping['shipping_id'], INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK"), 0); 
     380            $this->objFormParam->addParam("お名前1", "shipping_name01_" . $shipping['shipping_id'], STEXT_LEN, "KVa", array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK")); 
     381            $this->objFormParam->addParam("お名前2", "shipping_name02_" . $shipping['shipping_id'], STEXT_LEN, "KVa", array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK")); 
     382            $this->objFormParam->addParam("お名前(フリガナ・姓)", "shipping_kana01_" . $shipping['shipping_id'], STEXT_LEN, "KVCa", array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK")); 
     383            $this->objFormParam->addParam("お名前(フリガナ・名)", "shipping_kana02_" . $shipping['shipping_id'], STEXT_LEN, "KVCa", array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK")); 
    344384            $this->objFormParam->addParam("郵便番号1", "shipping_zip01_" . $shipping['shipping_id'], ZIP01_LEN, "n", array("NUM_CHECK", "NUM_COUNT_CHECK")); 
    345385            $this->objFormParam->addParam("郵便番号2", "shipping_zip02_" . $shipping['shipping_id'], ZIP02_LEN, "n", array("NUM_CHECK", "NUM_COUNT_CHECK")); 
     
    357397            $this->objFormParam->addParam("お届け日", "shipping_date_" . $shipping['shipping_id'], STEXT_LEN, "KVa", array("SPTAB_CHECK", "MAX_LENGTH_CHECK")); 
    358398            $this->objFormParam->addParam("配送商品規格数", "shipping_product_quantity_" . $shipping['shipping_id'], INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK")); 
    359             foreach ($shipping['shipment_item'] as $productClassId => $item) { 
     399            foreach (array_keys($shipping['shipment_item']) as $productClassId) { 
    360400                $this->objFormParam->addParam("商品規格ID", "product_class_id_" . $shipping['shipping_id'] . '_' . $productClassId, INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK")); 
    361                 $this->objFormParam->addParam("商品コード", "product_code_" . $shipping['shipping_id'] . '_' . $productClassId); 
     401                $this->objFormParam->addParam("商品コード", "product_code_" . $shipping['shipping_id'] . '_' . $productClassId, $item['product_code']); 
    362402                $this->objFormParam->addParam("商品名", "product_name_" . $shipping['shipping_id'] . '_' . $productClassId); 
    363403                $this->objFormParam->addParam("規格名1", "classcategory_name1_" . $shipping['shipping_id'] . '_' . $productClassId); 
     
    399439            $quantity = $this->objFormParam->getValue('multiple_quantity' . $i); 
    400440 
    401             $arrShipmentItem[$shippingId][$productClassId]['shipping_id'] = $shippingId; 
    402             $arrShipmentItem[$shippingId][$productClassId]['product_class_id'] = $productClassId; 
    403             $arrShipmentItem[$shippingId][$productClassId]['classcategory_name1'] = $class1; 
    404             $arrShipmentItem[$shippingId][$productClassId]['classcategory_name2'] = $class2; 
    405             $arrShipmentItem[$shippingId][$productClassId]['price'] = $price; 
    406             $arrShipmentItem[$shippingId][$productClassId]['quantity'] += $quantity; 
     441            $this->arrShipping[$shippingId]['shipment_item'][$productClassId]['shipping_id'] = $shippingId; 
     442            $this->arrShipping[$shippingId]['shipment_item'][$productClassId]['product_class_id'] = $productClassId; 
     443            $this->arrShipping[$shippingId]['shipment_item'][$productClassId]['product_name'] = $name; 
     444            $this->arrShipping[$shippingId]['shipment_item'][$productClassId]['product_code'] = $code; 
     445            $this->arrShipping[$shippingId]['shipment_item'][$productClassId]['classcategory_name1'] = $class1; 
     446            $this->arrShipping[$shippingId]['shipment_item'][$productClassId]['classcategory_name2'] = $class2; 
     447            $this->arrShipping[$shippingId]['shipment_item'][$productClassId]['price'] = $price; 
     448            $this->arrShipping[$shippingId]['shipment_item'][$productClassId]['quantity'] += $quantity; 
    407449        } 
    408450 
     
    410452        $this->arrShippingIds = array(); 
    411453        $this->arrProductClassIds = array(); 
    412         foreach ($arrShipmentItem as $shippingId => $items) { 
    413  
    414             $this->objFormParam->setValue('shipping_product_quantity' . '_' . $shippingId, count($items)); 
     454        foreach ($this->arrShipping as $shippingId => $items) { 
     455 
     456            $this->objFormParam->setValue('shipping_product_quantity' . '_' . $shippingId, count($items['shipment_item'])); 
    415457 
    416458            $this->arrShippingIds[] = $shippingId; 
    417             $this->arrProductClassIds[] = array_keys($items); 
    418  
    419             foreach ($items as $productClassId => $item) { 
     459            $this->arrProductClassIds[] = array_keys($items['shipment_item']); 
     460 
     461            foreach ($items['shipment_item'] as $productClassId => $item) { 
    420462                $arrQuantity[$productClassId] += $item['quantity']; 
    421463                foreach ($item as $itemKey => $itemVal) { 
     464                    $arrParam[$itemKey . '_' . $shippingId . '_' . $productClassId] = $itemVal; 
    422465                    $this->objFormParam->setValue($itemKey . '_' . $shippingId . '_' . $productClassId, $itemVal); 
     466                    $this->arrForm[$itemKey . '_' . $shippingId . '_' . $productClassId]['value'] = $itemVal; 
    423467                } 
    424468            } 
     
    435479        } 
    436480 
     481        // $this->arrShipping の内容で, 再度パラメータを初期化する 
     482        $this->lfInitShippingParam($this->arrShipping); 
     483        $this->objFormParam->setParam($arrParam); 
    437484        $this->objFormParam->setParam($dest); 
    438485    } 
     
    487534                        foreach ($item as $itemKey => $itemVal) { 
    488535                            $this->objFormParam->setValue($itemKey . '_' . $shipping['shipping_id'] . '_' . $productClassId, $itemVal); 
     536                            $this->arrForm[$itemKey . '_' . $shipping['shipping_id'] . '_' . $productClassId]['value'] = $itemVal; 
    489537                        } 
    490538                    } 
     
    503551            // 受注データを表示用配列に代入(各EC-CUBEバージョンと決済モジュールとのデータ連携保全のため) 
    504552            $this->arrDisp = $this->arrForm; 
     553        } else { 
     554            $this->lfInitShippingParam($this->arrShipping); 
     555            $this->objFormParam->setParam($_POST); 
    505556        } 
    506557    } 
     
    515566                 dtb_order_detail T1 
    516567            JOIN dtb_products_class T2 
    517               ON T1.product_class_id = T2.product_class_id 
     568               ON T1.product_class_id = T2.product_class_id 
    518569__EOS__; 
    519570        $arrRet = $objQuery->select($col, $from, 
     
    534585            $objQuery->setOrder('shipping_id'); 
    535586            $arrItems = $objQuery->select("*", "dtb_shipment_item", "order_id = ? AND shipping_id = ?", 
    536                                        array($orderId, $arrRet[$key]['shipping_id'])); 
     587                                          array($orderId, $arrRet[$key]['shipping_id'])); 
    537588            foreach ($arrItems as $itemKey => $arrDetail) { 
    538589                foreach ($arrDetail as $detailKey => $detailVal) { 
     
    605656        if ($_POST['mode'] == "add") { 
    606657            if ($arrVal['total_point'] < 0) { 
    607                     $arrErr['use_point'] = '最終保持ポイントがマイナス表示にならないように調整して下さい。<br />'; 
     658                $arrErr['use_point'] = '最終保持ポイントがマイナス表示にならないように調整して下さい。<br />'; 
    608659            } 
    609660        } 
     
    621672     * @return void 
    622673     */ 
    623     function lfRegistData($order_id) { 
     674    function lfRegistData($order_id, &$objPurchase) { 
    624675        $objQuery = new SC_Query(); 
    625676 
     
    713764        $objQuery->delete('dtb_shipment_item', "order_id = ?", array($order_id)); 
    714765 
    715         $arrParams = $this->objFormParam->getHashArray(); 
     766        //        $arrParams = $this->objFormParam->getHashArray(); 
     767        $arrParams = $_POST; 
    716768        // 配送ID の配列を取得 
    717769        $shippingIds = array(); 
     
    723775 
    724776        $cols = $objQuery->listTableFields('dtb_shipping'); 
     777 
    725778        foreach ($shippingIds as $shipping_id) { 
    726779 
     
    735788                } 
    736789            } 
     790 
     791            if (SC_Utils::isBlank($dest['deliv_id'])) { 
     792                // XXX 商品種別IDは0番目の配列を使用 
     793                $product_type_id = $this->objFormParam->getValue('product_type_id'); 
     794                $dest['deliv_id'] = $objPurchase->getDeliv($product_type_id[0]); 
     795            } 
     796 
    737797            $dest['shipping_id'] = $shipping_id; 
    738798            $dest['order_id'] = $order_id; 
     
    770830     * @return integer 注文番号 
    771831     */ 
    772     function lfRegistNewData() { 
     832    function lfRegistNewData(&$objPurchase) { 
    773833        $objQuery = new SC_Query(); 
    774834 
     
    793853        $order_id = $objQuery->nextVal('dtb_order_order_id'); 
    794854        $sqlval['order_id'] = $order_id; 
    795         $objQuery->insert("dtb_order", $sqlval); 
    796  
     855        $this->registerOrder($sqlval, $order_id); 
    797856 
    798857        // 受注.対応状況の更新 
     
    800859 
    801860        // 受注テーブルの名称列を更新 
    802         SC_Helper_DB_Ex::sfUpdateOrderNameCol($order_id); 
     861        //SC_Helper_DB_Ex::sfUpdateOrderNameCol($order_id); 
    803862 
    804863        // 受注詳細データの更新 
     
    831890            if ($stock_sqlval['stock'] === 0) { 
    832891                $stock_sqlval['stock'] = '0'; 
    833         } 
     892            } 
    834893 
    835894            $st_params = array(); 
     
    838897            $objQuery->update("dtb_products_class", $stock_sqlval, 'product_class_id = ?', $st_params); 
    839898        } 
     899 
     900        $arrParams = $this->objFormParam->getHashArray(); 
     901        // 配送ID の配列を取得 
     902        $shippingIds = array(); 
     903        foreach (array_keys($arrParams) as $key) { 
     904            if (preg_match('/^shipping_id_/', $key)) { 
     905                $shippingIds[] = $arrParams[$key]; 
     906            } 
     907        } 
     908 
     909        $cols = $objQuery->listTableFields('dtb_shipping'); 
     910        foreach ($shippingIds as $shipping_id) { 
     911 
     912            $arrParams['shipping_date_' .  $shipping_id] = SC_Utils_Ex::sfGetTimestamp($arrParams['shipping_date_year_' . $shipping_id], 
     913                                                                                       $arrParams['shipping_date_month_' . $shipping_id], 
     914                                                                                       $arrParams['shipping_date_day_' . $shipping_id]); 
     915            $dest = array(); 
     916            foreach ($arrParams as $key => $val) { 
     917                $key = preg_replace('/_' . $shipping_id . '$/', '', $key); 
     918                if (in_array($key, $cols)) { 
     919                    $dest[$key] = $val; 
     920                } 
     921            } 
     922            if (SC_Utils::isBlank($dest['deliv_id'])) { 
     923                // XXX 商品種別IDは0番目の配列を使用 
     924                $product_type_id = $this->objFormParam->getValue('product_type_id'); 
     925                $dest['deliv_id'] = $objPurchase->getDeliv($product_type_id[0]); 
     926            } 
     927 
     928            $dest['shipping_id'] = $shipping_id; 
     929            $dest['order_id'] = $order_id; 
     930            $dest['create_date'] = 'Now()'; 
     931            $dest['update_date'] = 'Now()'; 
     932            $objQuery->insert('dtb_shipping', $dest); 
     933 
     934            // 商品規格ID の配列を取得 
     935            $productClassIds = array(); 
     936            foreach (array_keys($arrParams) as $key) { 
     937                if (preg_match('/^product_class_id_' . $shipping_id . '_/', $key)) { 
     938                    $productClassIds[] = $arrParams[$key]; 
     939                } 
     940            } 
     941 
     942            foreach ($productClassIds as $product_class_id) { 
     943                $item['shipping_id'] = $shipping_id; 
     944                $item['order_id'] = $order_id; 
     945                $item['product_class_id'] = $product_class_id; 
     946                $item['product_name'] = $arrParams['product_name_' . $shipping_id . '_' . $product_class_id]; 
     947                $item['product_code'] = $arrParams['product_code_' . $shipping_id . '_' . $product_class_id]; 
     948                $item['classcategory_name1'] = $arrParams['classcategory_name1_' . $shipping_id . '_' . $product_class_id]; 
     949                $item['classcategory_name2'] = $arrParams['classcategory_name2_' . $shipping_id . '_' . $product_class_id]; 
     950                $item['price'] = $arrParams['price_' . $shipping_id . '_' . $product_class_id]; 
     951                $item['quantity'] = $arrParams['quantity_' . $shipping_id . '_' . $product_class_id]; 
     952                $objQuery->insert("dtb_shipment_item", $item); 
     953            } 
     954        } 
     955 
    840956        $objQuery->commit(); 
    841957 
     
    861977            $objQuery->update($table, $dest, "order_id = ?", array($order_id)); 
    862978        } else { 
    863             // TODO 
    864979            $dest['order_id'] = $order_id; 
    865980            $result = $objQuery->insert($table, $dest); 
     
    8851000 
    8861001        if ($existes) { 
    887         // 既に同じ商品がある場合 
     1002            // 既に同じ商品がある場合 
    8881003            ++$this->arrForm['quantity']['value'][$existes_key]; 
    8891004        } else { 
    890         // 既に同じ商品がない場合 
     1005            // 既に同じ商品がない場合 
    8911006            $this->lfSetProductData($arrProduct); 
    8921007        } 
     
    9181033        $arrProduct['product_id'] = $productsClass['product_id']; 
    9191034        $arrProduct['product_class_id'] = $productsClass['product_class_id']; 
     1035        $arrProduct['product_type_id'] = $productsClass['product_type_id']; 
    9201036        $arrProduct['point_rate'] = $productsClass['point_rate']; 
    9211037        $arrProduct['product_code'] = $productsClass['product_code']; 
     
    9231039        $arrProduct['classcategory_name1'] = $productsClass['classcategory_name1']; 
    9241040        $arrProduct['classcategory_name2'] = $productsClass['classcategory_name2']; 
    925  
    9261041        return $arrProduct; 
    9271042    } 
     
    9921107 
    9931108        return $sqlval; 
    994    } 
     1109    } 
    9951110} 
    9961111?> 
Note: See TracChangeset for help on using the changeset viewer.