Changeset 22792


Ignore:
Timestamp:
2013/05/01 01:04:51 (11 years ago)
Author:
AMUAMU
Message:

#2043 (typo修正・ソース整形・ソースコメントの改善 for 2.13.0)

インデントされていない部分がある

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/version-2_13-dev/data/class/pages/admin/order/LC_Page_Admin_Order_Edit.php

    r22567 r22792  
    3232 * @version $Id$ 
    3333 */ 
    34 class LC_Page_Admin_Order_Edit extends LC_Page_Admin_Order_Ex  
     34class LC_Page_Admin_Order_Edit extends LC_Page_Admin_Order_Ex 
    3535{ 
    3636 
     
    311311    } 
    312312 
    313 /** 
    314  * デストラクタ. 
    315  * 
    316  * @return void 
    317  */ 
    318 function destroy() 
    319 { 
    320     parent::destroy(); 
    321 } 
    322  
    323 /** 
    324  * パラメーター情報の初期化を行う. 
    325  * 
    326  * @param SC_FormParam $objFormParam SC_FormParam インスタンス 
    327  * @return void 
    328  */ 
    329 function lfInitParam(&$objFormParam) 
    330 { 
    331     // 検索条件のパラメーターを初期化 
    332     parent::lfInitParam($objFormParam); 
    333  
    334     // お客様情報 
    335     $objFormParam->addParam('注文者 お名前(姓)', 'order_name01', STEXT_LEN, 'KVa', array('EXIST_CHECK', 'SPTAB_CHECK', 'MAX_LENGTH_CHECK')); 
    336     $objFormParam->addParam('注文者 お名前(名)', 'order_name02', STEXT_LEN, 'KVa', array('EXIST_CHECK', 'SPTAB_CHECK', 'MAX_LENGTH_CHECK')); 
    337     $objFormParam->addParam('注文者 お名前(フリガナ・姓)', 'order_kana01', STEXT_LEN, 'KVCa', array('EXIST_CHECK', 'SPTAB_CHECK', 'MAX_LENGTH_CHECK')); 
    338     $objFormParam->addParam('注文者 お名前(フリガナ・名)', 'order_kana02', STEXT_LEN, 'KVCa', array('EXIST_CHECK', 'SPTAB_CHECK', 'MAX_LENGTH_CHECK')); 
    339     $objFormParam->addParam('メールアドレス', 'order_email', null, 'KVCa', array('NO_SPTAB', 'EMAIL_CHECK', 'EMAIL_CHAR_CHECK')); 
    340     $objFormParam->addParam('郵便番号1', 'order_zip01', ZIP01_LEN, 'n', array('NUM_CHECK', 'NUM_COUNT_CHECK')); 
    341     $objFormParam->addParam('郵便番号2', 'order_zip02', ZIP02_LEN, 'n', array('NUM_CHECK', 'NUM_COUNT_CHECK')); 
    342     $objFormParam->addParam('都道府県', 'order_pref', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK')); 
    343     $objFormParam->addParam('住所1', 'order_addr01', MTEXT_LEN, 'KVa', array('SPTAB_CHECK', 'MAX_LENGTH_CHECK')); 
    344     $objFormParam->addParam('住所2', 'order_addr02', MTEXT_LEN, 'KVa', array('SPTAB_CHECK', 'MAX_LENGTH_CHECK')); 
    345     $objFormParam->addParam('電話番号1', 'order_tel01', TEL_ITEM_LEN, 'n', array('MAX_LENGTH_CHECK' ,'NUM_CHECK')); 
    346     $objFormParam->addParam('電話番号2', 'order_tel02', TEL_ITEM_LEN, 'n', array('MAX_LENGTH_CHECK' ,'NUM_CHECK')); 
    347     $objFormParam->addParam('電話番号3', 'order_tel03', TEL_ITEM_LEN, 'n', array('MAX_LENGTH_CHECK' ,'NUM_CHECK')); 
    348     $objFormParam->addParam('FAX番号1', 'order_fax01', TEL_ITEM_LEN, 'n', array('MAX_LENGTH_CHECK' ,'NUM_CHECK')); 
    349     $objFormParam->addParam('FAX番号2', 'order_fax02', TEL_ITEM_LEN, 'n', array('MAX_LENGTH_CHECK' ,'NUM_CHECK')); 
    350     $objFormParam->addParam('FAX番号3', 'order_fax03', TEL_ITEM_LEN, 'n', array('MAX_LENGTH_CHECK' ,'NUM_CHECK')); 
    351  
    352     // 受注商品情報 
    353     $objFormParam->addParam('値引き', 'discount', INT_LEN, 'n', array('EXIST_CHECK', 'MAX_LENGTH_CHECK', 'NUM_CHECK'), '0'); 
    354     $objFormParam->addParam('送料', 'deliv_fee', INT_LEN, 'n', array('EXIST_CHECK', 'MAX_LENGTH_CHECK', 'NUM_CHECK'), '0'); 
    355     $objFormParam->addParam('手数料', 'charge', INT_LEN, 'n', array('EXIST_CHECK', 'MAX_LENGTH_CHECK', 'NUM_CHECK'), '0'); 
    356  
    357     // ポイント機能ON時のみ 
    358     if (USE_POINT !== false) { 
    359         $objFormParam->addParam('利用ポイント', 'use_point', INT_LEN, 'n', array('EXIST_CHECK', 'MAX_LENGTH_CHECK', 'NUM_CHECK')); 
    360     } 
    361  
    362     $objFormParam->addParam('配送業者', 'deliv_id', INT_LEN, 'n', array('EXIST_CHECK', 'MAX_LENGTH_CHECK', 'NUM_CHECK')); 
    363     $objFormParam->addParam('お支払い方法', 'payment_id', INT_LEN, 'n', array('EXIST_CHECK', 'MAX_LENGTH_CHECK', 'NUM_CHECK')); 
    364     $objFormParam->addParam('対応状況', 'status', INT_LEN, 'n', array('EXIST_CHECK', 'MAX_LENGTH_CHECK', 'NUM_CHECK')); 
    365     $objFormParam->addParam('お支払方法名称', 'payment_method'); 
    366  
    367  
    368     // 受注詳細情報 
    369     $objFormParam->addParam('商品種別ID', 'product_type_id', INT_LEN, 'n', array('EXIST_CHECK', 'MAX_LENGTH_CHECK', 'NUM_CHECK'), '0'); 
    370     $objFormParam->addParam('単価', 'price', INT_LEN, 'n', array('EXIST_CHECK', 'MAX_LENGTH_CHECK', 'NUM_CHECK'), '0'); 
    371     $objFormParam->addParam('数量', 'quantity', INT_LEN, 'n', array('EXIST_CHECK', 'MAX_LENGTH_CHECK', 'NUM_CHECK'), '0'); 
    372     $objFormParam->addParam('商品ID', 'product_id', INT_LEN, 'n', array('EXIST_CHECK', 'MAX_LENGTH_CHECK', 'NUM_CHECK'), '0'); 
    373     $objFormParam->addParam('商品規格ID', 'product_class_id', INT_LEN, 'n', array('EXIST_CHECK', 'MAX_LENGTH_CHECK', 'NUM_CHECK'), '0'); 
    374     $objFormParam->addParam('ポイント付与率', 'point_rate'); 
    375     $objFormParam->addParam('商品コード', 'product_code'); 
    376     $objFormParam->addParam('商品名', 'product_name'); 
    377     $objFormParam->addParam('規格名1', 'classcategory_name1'); 
    378     $objFormParam->addParam('規格名2', 'classcategory_name2'); 
    379     $objFormParam->addParam('税率', 'tax_rate'); 
    380     $objFormParam->addParam('課税規則', 'tax_rule'); 
    381     $objFormParam->addParam('メモ', 'note', MTEXT_LEN, 'KVa', array('MAX_LENGTH_CHECK')); 
    382     $objFormParam->addParam('削除用項番', 'delete_no', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK')); 
    383  
    384     // DB読込用 
    385     $objFormParam->addParam('小計', 'subtotal'); 
    386     $objFormParam->addParam('合計', 'total'); 
    387     $objFormParam->addParam('支払い合計', 'payment_total'); 
    388     $objFormParam->addParam('加算ポイント', 'add_point'); 
    389     $objFormParam->addParam('お誕生日ポイント', 'birth_point', null, 'n', array(), 0); 
    390     $objFormParam->addParam('消費税合計', 'tax'); 
    391     $objFormParam->addParam('最終保持ポイント', 'total_point'); 
    392     $objFormParam->addParam('会員ID', 'customer_id', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK'), '0'); 
    393     $objFormParam->addParam('会員ID', 'edit_customer_id', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK'), '0'); 
    394     $objFormParam->addParam('現在のポイント', 'customer_point'); 
    395     $objFormParam->addParam('受注前ポイント', 'point'); 
    396     $objFormParam->addParam('注文番号', 'order_id'); 
    397     $objFormParam->addParam('受注日', 'create_date'); 
    398     $objFormParam->addParam('発送日', 'commit_date'); 
    399     $objFormParam->addParam('備考', 'message'); 
    400     $objFormParam->addParam('入金日', 'payment_date'); 
    401     $objFormParam->addParam('端末種別', 'device_type_id'); 
    402     $objFormParam->addParam('税率', 'order_tax_rate'); 
    403     $objFormParam->addParam('課税規則', 'order_tax_rule'); 
    404  
    405     // 複数情報 
    406     $objFormParam->addParam('配送数', 'shipping_quantity', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK'), 1); 
    407     $objFormParam->addParam('配送ID', 'shipping_id', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK'), 0); 
    408     $objFormParam->addParam('お名前(姓)', 'shipping_name01', STEXT_LEN, 'KVa', array('SPTAB_CHECK', 'MAX_LENGTH_CHECK')); 
    409     $objFormParam->addParam('お名前(名)', 'shipping_name02', STEXT_LEN, 'KVa', array('SPTAB_CHECK', 'MAX_LENGTH_CHECK')); 
    410     $objFormParam->addParam('お名前(フリガナ・姓)', 'shipping_kana01', STEXT_LEN, 'KVCa', array('SPTAB_CHECK', 'MAX_LENGTH_CHECK')); 
    411     $objFormParam->addParam('お名前(フリガナ・名)', 'shipping_kana02', STEXT_LEN, 'KVCa', array('SPTAB_CHECK', 'MAX_LENGTH_CHECK')); 
    412     $objFormParam->addParam('郵便番号1', 'shipping_zip01', ZIP01_LEN, 'n', array('NUM_CHECK', 'NUM_COUNT_CHECK')); 
    413     $objFormParam->addParam('郵便番号2', 'shipping_zip02', ZIP02_LEN, 'n', array('NUM_CHECK', 'NUM_COUNT_CHECK')); 
    414     $objFormParam->addParam('都道府県', 'shipping_pref', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK')); 
    415     $objFormParam->addParam('住所1', 'shipping_addr01', MTEXT_LEN, 'KVa', array('SPTAB_CHECK', 'MAX_LENGTH_CHECK')); 
    416     $objFormParam->addParam('住所2', 'shipping_addr02', MTEXT_LEN, 'KVa', array('SPTAB_CHECK', 'MAX_LENGTH_CHECK')); 
    417     $objFormParam->addParam('電話番号1', 'shipping_tel01', TEL_ITEM_LEN, 'n', array('MAX_LENGTH_CHECK' ,'NUM_CHECK')); 
    418     $objFormParam->addParam('電話番号2', 'shipping_tel02', TEL_ITEM_LEN, 'n', array('MAX_LENGTH_CHECK' ,'NUM_CHECK')); 
    419     $objFormParam->addParam('電話番号3', 'shipping_tel03', TEL_ITEM_LEN, 'n', array('MAX_LENGTH_CHECK' ,'NUM_CHECK')); 
    420     $objFormParam->addParam('FAX番号1', 'shipping_fax01', TEL_ITEM_LEN, 'n', array('MAX_LENGTH_CHECK' ,'NUM_CHECK')); 
    421     $objFormParam->addParam('FAX番号2', 'shipping_fax02', TEL_ITEM_LEN, 'n', array('MAX_LENGTH_CHECK' ,'NUM_CHECK')); 
    422     $objFormParam->addParam('FAX番号3', 'shipping_fax03', TEL_ITEM_LEN, 'n', array('MAX_LENGTH_CHECK' ,'NUM_CHECK')); 
    423     $objFormParam->addParam('お届け時間ID', 'time_id', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK')); 
    424     $objFormParam->addParam('お届け日(年)', 'shipping_date_year', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK')); 
    425     $objFormParam->addParam('お届け日(月)', 'shipping_date_month', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK')); 
    426     $objFormParam->addParam('お届け日(日)', 'shipping_date_day', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK')); 
    427     $objFormParam->addParam('お届け日', 'shipping_date', STEXT_LEN, 'KVa', array('SPTAB_CHECK', 'MAX_LENGTH_CHECK')); 
    428     $objFormParam->addParam('配送商品数量', 'shipping_product_quantity', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK')); 
    429  
    430     $objFormParam->addParam('商品規格ID', 'shipment_product_class_id', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK')); 
    431     $objFormParam->addParam('商品コード', 'shipment_product_code'); 
    432     $objFormParam->addParam('商品名', 'shipment_product_name'); 
    433     $objFormParam->addParam('規格名1', 'shipment_classcategory_name1'); 
    434     $objFormParam->addParam('規格名2', 'shipment_classcategory_name2'); 
    435     $objFormParam->addParam('単価', 'shipment_price', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK'), '0'); 
    436     $objFormParam->addParam('数量', 'shipment_quantity', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK'), '0'); 
    437  
    438     $objFormParam->addParam('商品項番', 'no', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK')); 
    439     $objFormParam->addParam('追加商品規格ID', 'add_product_class_id', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK')); 
    440     $objFormParam->addParam('修正商品規格ID', 'edit_product_class_id', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK')); 
    441     $objFormParam->addParam('対象届け先ID', 'select_shipping_id', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK')); 
    442     $objFormParam->addParam('アンカーキー', 'anchor_key', STEXT_LEN, 'KVa', array('SPTAB_CHECK', 'MAX_LENGTH_CHECK')); 
    443 } 
    444  
    445 /** 
    446  * 複数配送用フォームの初期化を行う. 
    447  * 
    448  * @param SC_FormParam $objFormParam SC_FormParam インスタンス 
    449  * @return void 
    450  */ 
    451 function lfInitMultipleParam(&$objFormParam) 
    452 { 
    453     $objFormParam->addParam('商品規格ID', 'multiple_product_class_id', INT_LEN, 'n', array('EXIST_CHECK', 'MAX_LENGTH_CHECK', 'NUM_CHECK')); 
    454     $objFormParam->addParam('商品コード', 'multiple_product_code', INT_LEN, 'n', array('EXIST_CHECK', 'MAX_LENGTH_CHECK', 'NUM_CHECK'), 1); 
    455     $objFormParam->addParam('商品名', 'multiple_product_name', INT_LEN, 'n', array('EXIST_CHECK', 'MAX_LENGTH_CHECK', 'NUM_CHECK'), 1); 
    456     $objFormParam->addParam('規格1', 'multiple_classcategory_name1', INT_LEN, 'n', array('EXIST_CHECK', 'MAX_LENGTH_CHECK', 'NUM_CHECK'), 1); 
    457     $objFormParam->addParam('規格2', 'multiple_classcategory_name2', INT_LEN, 'n', array('EXIST_CHECK', 'MAX_LENGTH_CHECK', 'NUM_CHECK'), 1); 
    458     $objFormParam->addParam('単価', 'multiple_price', INT_LEN, 'n', array('EXIST_CHECK', 'MAX_LENGTH_CHECK', 'NUM_CHECK'), 1); 
    459     $objFormParam->addParam('数量', 'multiple_quantity', INT_LEN, 'n', array('EXIST_CHECK', 'MAX_LENGTH_CHECK', 'NUM_CHECK'), 1); 
    460     $objFormParam->addParam('お届け先', 'multiple_shipping_id', INT_LEN, 'n', array('EXIST_CHECK', 'MAX_LENGTH_CHECK', 'NUM_CHECK')); 
    461 } 
    462  
    463 /** 
    464  * 複数配送入力フォームで入力された値を SC_FormParam へ設定する. 
    465  * 
    466  * @param SC_FormParam $objFormParam SC_FormParam インスタンス 
    467  * @return void 
    468  */ 
    469 function setMultipleItemTo(&$objFormParam) 
    470 { 
    471     $arrMultipleKey = array('multiple_shipping_id', 
    472             'multiple_product_class_id', 
    473             'multiple_product_name', 
    474             'multiple_product_code', 
    475             'multiple_classcategory_name1', 
    476             'multiple_classcategory_name2', 
    477             'multiple_price', 
    478             'multiple_quantity'); 
    479     $arrMultipleParams = $objFormParam->getSwapArray($arrMultipleKey); 
    480  
    481     /* 
    482      * 複数配送フォームの入力値を shipping_id ごとにマージ 
    483      * 
    484      * $arrShipmentItem[お届け先ID][商品規格ID]['shipment_(key)'] = 値 
    485      */ 
    486     $arrShipmentItem = array(); 
    487     foreach ($arrMultipleParams as $arrMultiple) { 
    488         $shipping_id = $arrMultiple['multiple_shipping_id']; 
    489         $product_class_id = $arrMultiple['multiple_product_class_id']; 
    490         foreach ($arrMultiple as $key => $val) { 
    491             if ($key == 'multiple_quantity') { 
    492                 $arrShipmentItem[$shipping_id][$product_class_id][str_replace('multiple', 'shipment', $key)] += $val; 
    493             } else { 
    494                 $arrShipmentItem[$shipping_id][$product_class_id][str_replace('multiple', 'shipment', $key)] = $val; 
    495             } 
    496         } 
    497     } 
    498  
    499     /* 
    500      * フォームのお届け先ごとの配列を生成 
    501      * 
    502      * $arrShipmentForm['(key)'][$shipping_id][$item_index] = 値 
    503      * $arrProductQuantity[$shipping_id] = お届け先ごとの配送商品数量 
    504      */ 
    505     $arrShipmentForm = array(); 
    506     $arrProductQuantity = array(); 
    507     $arrShippingIds = $objFormParam->getValue('shipping_id'); 
    508     foreach ($arrShippingIds as $shipping_id) { 
    509         $item_index = 0; 
    510         foreach ($arrShipmentItem[$shipping_id] as $product_class_id => $shipment_item) { 
    511             foreach ($shipment_item as $key => $val) { 
    512                 $arrShipmentForm[$key][$shipping_id][$item_index] = $val; 
    513             } 
    514             // 受注商品の数量を設定 
    515             $arrQuantity[$product_class_id] += $shipment_item['shipment_quantity']; 
    516             $item_index++; 
    517         } 
    518         // お届け先ごとの配送商品数量を設定 
    519         $arrProductQuantity[$shipping_id] = count($arrShipmentItem[$shipping_id]); 
    520     } 
    521  
    522     $objFormParam->setParam($arrShipmentForm); 
    523     $objFormParam->setValue('shipping_product_quantity', $arrProductQuantity); 
    524  
    525     // 受注商品の数量を変更 
    526     $arrDest = array(); 
    527     foreach ($objFormParam->getValue('product_class_id') as $n => $order_product_class_id) { 
    528         $arrDest['quantity'][$n] = 0; 
    529     } 
    530     foreach ($arrQuantity as $product_class_id => $quantity) { 
     313    /** 
     314     * デストラクタ. 
     315     * 
     316     * @return void 
     317     */ 
     318    function destroy() 
     319    { 
     320        parent::destroy(); 
     321    } 
     322 
     323    /** 
     324     * パラメーター情報の初期化を行う. 
     325     * 
     326     * @param SC_FormParam $objFormParam SC_FormParam インスタンス 
     327     * @return void 
     328     */ 
     329    function lfInitParam(&$objFormParam) 
     330    { 
     331        // 検索条件のパラメーターを初期化 
     332        parent::lfInitParam($objFormParam); 
     333 
     334        // お客様情報 
     335        $objFormParam->addParam('注文者 お名前(姓)', 'order_name01', STEXT_LEN, 'KVa', array('EXIST_CHECK', 'SPTAB_CHECK', 'MAX_LENGTH_CHECK')); 
     336        $objFormParam->addParam('注文者 お名前(名)', 'order_name02', STEXT_LEN, 'KVa', array('EXIST_CHECK', 'SPTAB_CHECK', 'MAX_LENGTH_CHECK')); 
     337        $objFormParam->addParam('注文者 お名前(フリガナ・姓)', 'order_kana01', STEXT_LEN, 'KVCa', array('EXIST_CHECK', 'SPTAB_CHECK', 'MAX_LENGTH_CHECK')); 
     338        $objFormParam->addParam('注文者 お名前(フリガナ・名)', 'order_kana02', STEXT_LEN, 'KVCa', array('EXIST_CHECK', 'SPTAB_CHECK', 'MAX_LENGTH_CHECK')); 
     339        $objFormParam->addParam('メールアドレス', 'order_email', null, 'KVCa', array('NO_SPTAB', 'EMAIL_CHECK', 'EMAIL_CHAR_CHECK')); 
     340        $objFormParam->addParam('郵便番号1', 'order_zip01', ZIP01_LEN, 'n', array('NUM_CHECK', 'NUM_COUNT_CHECK')); 
     341        $objFormParam->addParam('郵便番号2', 'order_zip02', ZIP02_LEN, 'n', array('NUM_CHECK', 'NUM_COUNT_CHECK')); 
     342        $objFormParam->addParam('都道府県', 'order_pref', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK')); 
     343        $objFormParam->addParam('住所1', 'order_addr01', MTEXT_LEN, 'KVa', array('SPTAB_CHECK', 'MAX_LENGTH_CHECK')); 
     344        $objFormParam->addParam('住所2', 'order_addr02', MTEXT_LEN, 'KVa', array('SPTAB_CHECK', 'MAX_LENGTH_CHECK')); 
     345        $objFormParam->addParam('電話番号1', 'order_tel01', TEL_ITEM_LEN, 'n', array('MAX_LENGTH_CHECK' ,'NUM_CHECK')); 
     346        $objFormParam->addParam('電話番号2', 'order_tel02', TEL_ITEM_LEN, 'n', array('MAX_LENGTH_CHECK' ,'NUM_CHECK')); 
     347        $objFormParam->addParam('電話番号3', 'order_tel03', TEL_ITEM_LEN, 'n', array('MAX_LENGTH_CHECK' ,'NUM_CHECK')); 
     348        $objFormParam->addParam('FAX番号1', 'order_fax01', TEL_ITEM_LEN, 'n', array('MAX_LENGTH_CHECK' ,'NUM_CHECK')); 
     349        $objFormParam->addParam('FAX番号2', 'order_fax02', TEL_ITEM_LEN, 'n', array('MAX_LENGTH_CHECK' ,'NUM_CHECK')); 
     350        $objFormParam->addParam('FAX番号3', 'order_fax03', TEL_ITEM_LEN, 'n', array('MAX_LENGTH_CHECK' ,'NUM_CHECK')); 
     351 
     352        // 受注商品情報 
     353        $objFormParam->addParam('値引き', 'discount', INT_LEN, 'n', array('EXIST_CHECK', 'MAX_LENGTH_CHECK', 'NUM_CHECK'), '0'); 
     354        $objFormParam->addParam('送料', 'deliv_fee', INT_LEN, 'n', array('EXIST_CHECK', 'MAX_LENGTH_CHECK', 'NUM_CHECK'), '0'); 
     355        $objFormParam->addParam('手数料', 'charge', INT_LEN, 'n', array('EXIST_CHECK', 'MAX_LENGTH_CHECK', 'NUM_CHECK'), '0'); 
     356 
     357        // ポイント機能ON時のみ 
     358        if (USE_POINT !== false) { 
     359            $objFormParam->addParam('利用ポイント', 'use_point', INT_LEN, 'n', array('EXIST_CHECK', 'MAX_LENGTH_CHECK', 'NUM_CHECK')); 
     360        } 
     361 
     362        $objFormParam->addParam('配送業者', 'deliv_id', INT_LEN, 'n', array('EXIST_CHECK', 'MAX_LENGTH_CHECK', 'NUM_CHECK')); 
     363        $objFormParam->addParam('お支払い方法', 'payment_id', INT_LEN, 'n', array('EXIST_CHECK', 'MAX_LENGTH_CHECK', 'NUM_CHECK')); 
     364        $objFormParam->addParam('対応状況', 'status', INT_LEN, 'n', array('EXIST_CHECK', 'MAX_LENGTH_CHECK', 'NUM_CHECK')); 
     365        $objFormParam->addParam('お支払方法名称', 'payment_method'); 
     366 
     367 
     368        // 受注詳細情報 
     369        $objFormParam->addParam('商品種別ID', 'product_type_id', INT_LEN, 'n', array('EXIST_CHECK', 'MAX_LENGTH_CHECK', 'NUM_CHECK'), '0'); 
     370        $objFormParam->addParam('単価', 'price', INT_LEN, 'n', array('EXIST_CHECK', 'MAX_LENGTH_CHECK', 'NUM_CHECK'), '0'); 
     371        $objFormParam->addParam('数量', 'quantity', INT_LEN, 'n', array('EXIST_CHECK', 'MAX_LENGTH_CHECK', 'NUM_CHECK'), '0'); 
     372        $objFormParam->addParam('商品ID', 'product_id', INT_LEN, 'n', array('EXIST_CHECK', 'MAX_LENGTH_CHECK', 'NUM_CHECK'), '0'); 
     373        $objFormParam->addParam('商品規格ID', 'product_class_id', INT_LEN, 'n', array('EXIST_CHECK', 'MAX_LENGTH_CHECK', 'NUM_CHECK'), '0'); 
     374        $objFormParam->addParam('ポイント付与率', 'point_rate'); 
     375        $objFormParam->addParam('商品コード', 'product_code'); 
     376        $objFormParam->addParam('商品名', 'product_name'); 
     377        $objFormParam->addParam('規格名1', 'classcategory_name1'); 
     378        $objFormParam->addParam('規格名2', 'classcategory_name2'); 
     379        $objFormParam->addParam('税率', 'tax_rate'); 
     380        $objFormParam->addParam('課税規則', 'tax_rule'); 
     381        $objFormParam->addParam('メモ', 'note', MTEXT_LEN, 'KVa', array('MAX_LENGTH_CHECK')); 
     382        $objFormParam->addParam('削除用項番', 'delete_no', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK')); 
     383 
     384        // DB読込用 
     385        $objFormParam->addParam('小計', 'subtotal'); 
     386        $objFormParam->addParam('合計', 'total'); 
     387        $objFormParam->addParam('支払い合計', 'payment_total'); 
     388        $objFormParam->addParam('加算ポイント', 'add_point'); 
     389        $objFormParam->addParam('お誕生日ポイント', 'birth_point', null, 'n', array(), 0); 
     390        $objFormParam->addParam('消費税合計', 'tax'); 
     391        $objFormParam->addParam('最終保持ポイント', 'total_point'); 
     392        $objFormParam->addParam('会員ID', 'customer_id', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK'), '0'); 
     393        $objFormParam->addParam('会員ID', 'edit_customer_id', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK'), '0'); 
     394        $objFormParam->addParam('現在のポイント', 'customer_point'); 
     395        $objFormParam->addParam('受注前ポイント', 'point'); 
     396        $objFormParam->addParam('注文番号', 'order_id'); 
     397        $objFormParam->addParam('受注日', 'create_date'); 
     398        $objFormParam->addParam('発送日', 'commit_date'); 
     399        $objFormParam->addParam('備考', 'message'); 
     400        $objFormParam->addParam('入金日', 'payment_date'); 
     401        $objFormParam->addParam('端末種別', 'device_type_id'); 
     402        $objFormParam->addParam('税率', 'order_tax_rate'); 
     403        $objFormParam->addParam('課税規則', 'order_tax_rule'); 
     404 
     405        // 複数情報 
     406        $objFormParam->addParam('配送数', 'shipping_quantity', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK'), 1); 
     407        $objFormParam->addParam('配送ID', 'shipping_id', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK'), 0); 
     408        $objFormParam->addParam('お名前(姓)', 'shipping_name01', STEXT_LEN, 'KVa', array('SPTAB_CHECK', 'MAX_LENGTH_CHECK')); 
     409        $objFormParam->addParam('お名前(名)', 'shipping_name02', STEXT_LEN, 'KVa', array('SPTAB_CHECK', 'MAX_LENGTH_CHECK')); 
     410        $objFormParam->addParam('お名前(フリガナ・姓)', 'shipping_kana01', STEXT_LEN, 'KVCa', array('SPTAB_CHECK', 'MAX_LENGTH_CHECK')); 
     411        $objFormParam->addParam('お名前(フリガナ・名)', 'shipping_kana02', STEXT_LEN, 'KVCa', array('SPTAB_CHECK', 'MAX_LENGTH_CHECK')); 
     412        $objFormParam->addParam('郵便番号1', 'shipping_zip01', ZIP01_LEN, 'n', array('NUM_CHECK', 'NUM_COUNT_CHECK')); 
     413        $objFormParam->addParam('郵便番号2', 'shipping_zip02', ZIP02_LEN, 'n', array('NUM_CHECK', 'NUM_COUNT_CHECK')); 
     414        $objFormParam->addParam('都道府県', 'shipping_pref', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK')); 
     415        $objFormParam->addParam('住所1', 'shipping_addr01', MTEXT_LEN, 'KVa', array('SPTAB_CHECK', 'MAX_LENGTH_CHECK')); 
     416        $objFormParam->addParam('住所2', 'shipping_addr02', MTEXT_LEN, 'KVa', array('SPTAB_CHECK', 'MAX_LENGTH_CHECK')); 
     417        $objFormParam->addParam('電話番号1', 'shipping_tel01', TEL_ITEM_LEN, 'n', array('MAX_LENGTH_CHECK' ,'NUM_CHECK')); 
     418        $objFormParam->addParam('電話番号2', 'shipping_tel02', TEL_ITEM_LEN, 'n', array('MAX_LENGTH_CHECK' ,'NUM_CHECK')); 
     419        $objFormParam->addParam('電話番号3', 'shipping_tel03', TEL_ITEM_LEN, 'n', array('MAX_LENGTH_CHECK' ,'NUM_CHECK')); 
     420        $objFormParam->addParam('FAX番号1', 'shipping_fax01', TEL_ITEM_LEN, 'n', array('MAX_LENGTH_CHECK' ,'NUM_CHECK')); 
     421        $objFormParam->addParam('FAX番号2', 'shipping_fax02', TEL_ITEM_LEN, 'n', array('MAX_LENGTH_CHECK' ,'NUM_CHECK')); 
     422        $objFormParam->addParam('FAX番号3', 'shipping_fax03', TEL_ITEM_LEN, 'n', array('MAX_LENGTH_CHECK' ,'NUM_CHECK')); 
     423        $objFormParam->addParam('お届け時間ID', 'time_id', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK')); 
     424        $objFormParam->addParam('お届け日(年)', 'shipping_date_year', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK')); 
     425        $objFormParam->addParam('お届け日(月)', 'shipping_date_month', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK')); 
     426        $objFormParam->addParam('お届け日(日)', 'shipping_date_day', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK')); 
     427        $objFormParam->addParam('お届け日', 'shipping_date', STEXT_LEN, 'KVa', array('SPTAB_CHECK', 'MAX_LENGTH_CHECK')); 
     428        $objFormParam->addParam('配送商品数量', 'shipping_product_quantity', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK')); 
     429 
     430        $objFormParam->addParam('商品規格ID', 'shipment_product_class_id', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK')); 
     431        $objFormParam->addParam('商品コード', 'shipment_product_code'); 
     432        $objFormParam->addParam('商品名', 'shipment_product_name'); 
     433        $objFormParam->addParam('規格名1', 'shipment_classcategory_name1'); 
     434        $objFormParam->addParam('規格名2', 'shipment_classcategory_name2'); 
     435        $objFormParam->addParam('単価', 'shipment_price', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK'), '0'); 
     436        $objFormParam->addParam('数量', 'shipment_quantity', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK'), '0'); 
     437 
     438        $objFormParam->addParam('商品項番', 'no', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK')); 
     439        $objFormParam->addParam('追加商品規格ID', 'add_product_class_id', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK')); 
     440        $objFormParam->addParam('修正商品規格ID', 'edit_product_class_id', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK')); 
     441        $objFormParam->addParam('対象届け先ID', 'select_shipping_id', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK')); 
     442        $objFormParam->addParam('アンカーキー', 'anchor_key', STEXT_LEN, 'KVa', array('SPTAB_CHECK', 'MAX_LENGTH_CHECK')); 
     443    } 
     444 
     445    /** 
     446     * 複数配送用フォームの初期化を行う. 
     447     * 
     448     * @param SC_FormParam $objFormParam SC_FormParam インスタンス 
     449     * @return void 
     450     */ 
     451    function lfInitMultipleParam(&$objFormParam) 
     452    { 
     453        $objFormParam->addParam('商品規格ID', 'multiple_product_class_id', INT_LEN, 'n', array('EXIST_CHECK', 'MAX_LENGTH_CHECK', 'NUM_CHECK')); 
     454        $objFormParam->addParam('商品コード', 'multiple_product_code', INT_LEN, 'n', array('EXIST_CHECK', 'MAX_LENGTH_CHECK', 'NUM_CHECK'), 1); 
     455        $objFormParam->addParam('商品名', 'multiple_product_name', INT_LEN, 'n', array('EXIST_CHECK', 'MAX_LENGTH_CHECK', 'NUM_CHECK'), 1); 
     456        $objFormParam->addParam('規格1', 'multiple_classcategory_name1', INT_LEN, 'n', array('EXIST_CHECK', 'MAX_LENGTH_CHECK', 'NUM_CHECK'), 1); 
     457        $objFormParam->addParam('規格2', 'multiple_classcategory_name2', INT_LEN, 'n', array('EXIST_CHECK', 'MAX_LENGTH_CHECK', 'NUM_CHECK'), 1); 
     458        $objFormParam->addParam('単価', 'multiple_price', INT_LEN, 'n', array('EXIST_CHECK', 'MAX_LENGTH_CHECK', 'NUM_CHECK'), 1); 
     459        $objFormParam->addParam('数量', 'multiple_quantity', INT_LEN, 'n', array('EXIST_CHECK', 'MAX_LENGTH_CHECK', 'NUM_CHECK'), 1); 
     460        $objFormParam->addParam('お届け先', 'multiple_shipping_id', INT_LEN, 'n', array('EXIST_CHECK', 'MAX_LENGTH_CHECK', 'NUM_CHECK')); 
     461    } 
     462 
     463    /** 
     464     * 複数配送入力フォームで入力された値を SC_FormParam へ設定する. 
     465     * 
     466     * @param SC_FormParam $objFormParam SC_FormParam インスタンス 
     467     * @return void 
     468     */ 
     469    function setMultipleItemTo(&$objFormParam) 
     470    { 
     471        $arrMultipleKey = array('multiple_shipping_id', 
     472                'multiple_product_class_id', 
     473                'multiple_product_name', 
     474                'multiple_product_code', 
     475                'multiple_classcategory_name1', 
     476                'multiple_classcategory_name2', 
     477                'multiple_price', 
     478                'multiple_quantity'); 
     479        $arrMultipleParams = $objFormParam->getSwapArray($arrMultipleKey); 
     480 
     481        /* 
     482         * 複数配送フォームの入力値を shipping_id ごとにマージ 
     483         * 
     484         * $arrShipmentItem[お届け先ID][商品規格ID]['shipment_(key)'] = 値 
     485         */ 
     486        $arrShipmentItem = array(); 
     487        foreach ($arrMultipleParams as $arrMultiple) { 
     488            $shipping_id = $arrMultiple['multiple_shipping_id']; 
     489            $product_class_id = $arrMultiple['multiple_product_class_id']; 
     490            foreach ($arrMultiple as $key => $val) { 
     491                if ($key == 'multiple_quantity') { 
     492                    $arrShipmentItem[$shipping_id][$product_class_id][str_replace('multiple', 'shipment', $key)] += $val; 
     493                } else { 
     494                    $arrShipmentItem[$shipping_id][$product_class_id][str_replace('multiple', 'shipment', $key)] = $val; 
     495                } 
     496            } 
     497        } 
     498 
     499        /* 
     500         * フォームのお届け先ごとの配列を生成 
     501         * 
     502         * $arrShipmentForm['(key)'][$shipping_id][$item_index] = 値 
     503         * $arrProductQuantity[$shipping_id] = お届け先ごとの配送商品数量 
     504         */ 
     505        $arrShipmentForm = array(); 
     506        $arrProductQuantity = array(); 
     507        $arrShippingIds = $objFormParam->getValue('shipping_id'); 
     508        foreach ($arrShippingIds as $shipping_id) { 
     509            $item_index = 0; 
     510            foreach ($arrShipmentItem[$shipping_id] as $product_class_id => $shipment_item) { 
     511                foreach ($shipment_item as $key => $val) { 
     512                    $arrShipmentForm[$key][$shipping_id][$item_index] = $val; 
     513                } 
     514                // 受注商品の数量を設定 
     515                $arrQuantity[$product_class_id] += $shipment_item['shipment_quantity']; 
     516                $item_index++; 
     517            } 
     518            // お届け先ごとの配送商品数量を設定 
     519            $arrProductQuantity[$shipping_id] = count($arrShipmentItem[$shipping_id]); 
     520        } 
     521 
     522        $objFormParam->setParam($arrShipmentForm); 
     523        $objFormParam->setValue('shipping_product_quantity', $arrProductQuantity); 
     524 
     525        // 受注商品の数量を変更 
     526        $arrDest = array(); 
    531527        foreach ($objFormParam->getValue('product_class_id') as $n => $order_product_class_id) { 
    532             if ($product_class_id == $order_product_class_id) { 
    533                 $arrDest['quantity'][$n] = $quantity; 
    534             } 
    535         } 
    536     } 
    537     $objFormParam->setParam($arrDest); 
    538 } 
    539  
    540 /** 
    541  * 受注データを取得して, SC_FormParam へ設定する. 
    542  * 
    543  * @param SC_FormParam $objFormParam SC_FormParam インスタンス 
    544  * @param integer $order_id 取得元の受注ID 
    545  * @return void 
    546  */ 
    547 function setOrderToFormParam(&$objFormParam, $order_id) 
    548 { 
    549     $objPurchase = new SC_Helper_Purchase_Ex(); 
    550  
    551     // 受注詳細を設定 
    552     $arrOrderDetail = $objPurchase->getOrderDetail($order_id, false); 
    553     $objFormParam->setParam(SC_Utils_Ex::sfSwapArray($arrOrderDetail)); 
    554  
    555     $arrShippingsTmp = $objPurchase->getShippings($order_id); 
    556     $arrShippings = array(); 
    557     foreach ($arrShippingsTmp as $row) { 
    558         // お届け日の処理 
    559         if (!SC_Utils_Ex::isBlank($row['shipping_date'])) { 
    560             $ts = strtotime($row['shipping_date']); 
    561             $row['shipping_date_year'] = date('Y', $ts); 
    562             $row['shipping_date_month'] = date('n', $ts); 
    563             $row['shipping_date_day'] = date('j', $ts); 
    564         } 
    565         $arrShippings[$row['shipping_id']] = $row; 
    566     } 
    567     $objFormParam->setValue('shipping_quantity', count($arrShippings)); 
    568     $objFormParam->setParam(SC_Utils_Ex::sfSwapArray($arrShippings)); 
    569  
    570     /* 
    571      * 配送商品を設定 
    572      * 
    573      * $arrShipmentItem['shipment_(key)'][$shipping_id][$item_index] = 値 
    574      * $arrProductQuantity[$shipping_id] = お届け先ごとの配送商品数量 
    575      */ 
    576     $arrProductQuantity = array(); 
    577     $arrShipmentItem = array(); 
    578     foreach ($arrShippings as $shipping_id => $arrShipping) { 
    579         $arrProductQuantity[$shipping_id] = count($arrShipping['shipment_item']); 
    580         foreach ($arrShipping['shipment_item'] as $item_index => $arrItem) { 
    581             foreach ($arrItem as $item_key => $item_val) { 
    582                 $arrShipmentItem['shipment_' . $item_key][$shipping_id][$item_index] = $item_val; 
    583             } 
    584         } 
    585     } 
    586     $objFormParam->setValue('shipping_product_quantity', $arrProductQuantity); 
    587     $objFormParam->setParam($arrShipmentItem); 
    588  
    589     /* 
    590      * 受注情報を設定 
    591      * $arrOrderDetail と項目が重複しており, $arrOrderDetail は連想配列の値 
    592      * が渡ってくるため, $arrOrder で上書きする. 
    593      */ 
    594     $arrOrder = $objPurchase->getOrder($order_id); 
    595     $objFormParam->setParam($arrOrder); 
    596  
    597     // ポイントを設定 
    598     list($db_point, $rollback_point) = SC_Helper_DB_Ex::sfGetRollbackPoint( 
    599             $order_id, $arrOrder['use_point'], $arrOrder['add_point'], $arrOrder['status'] 
    600             ); 
    601     $objFormParam->setValue('total_point', $db_point); 
    602     $objFormParam->setValue('point', $rollback_point); 
    603  
    604     if (!SC_Utils_Ex::isBlank($objFormParam->getValue('customer_id'))) { 
    605         $arrCustomer = SC_Helper_Customer_Ex::sfGetCustomerDataFromId($objFormParam->getValue('customer_id')); 
    606         $objFormParam->setValue('customer_point', $arrCustomer['point']); 
    607     } 
    608 } 
    609  
    610 /** 
    611  * 入力内容のチェックを行う. 
    612  * 
    613  * @param SC_FormParam $objFormParam SC_FormParam インスタンス 
    614  * @return array エラーメッセージの配列 
    615  */ 
    616 function lfCheckError(&$objFormParam) 
    617 { 
    618     $objProduct = new SC_Product_Ex(); 
    619  
    620     $arrErr = $objFormParam->checkError(); 
    621  
    622     if (!SC_Utils_Ex::isBlank($objErr->arrErr)) { 
     528            $arrDest['quantity'][$n] = 0; 
     529        } 
     530        foreach ($arrQuantity as $product_class_id => $quantity) { 
     531            foreach ($objFormParam->getValue('product_class_id') as $n => $order_product_class_id) { 
     532                if ($product_class_id == $order_product_class_id) { 
     533                    $arrDest['quantity'][$n] = $quantity; 
     534                } 
     535            } 
     536        } 
     537        $objFormParam->setParam($arrDest); 
     538    } 
     539 
     540    /** 
     541     * 受注データを取得して, SC_FormParam へ設定する. 
     542     * 
     543     * @param SC_FormParam $objFormParam SC_FormParam インスタンス 
     544     * @param integer $order_id 取得元の受注ID 
     545     * @return void 
     546     */ 
     547    function setOrderToFormParam(&$objFormParam, $order_id) 
     548    { 
     549        $objPurchase = new SC_Helper_Purchase_Ex(); 
     550 
     551        // 受注詳細を設定 
     552        $arrOrderDetail = $objPurchase->getOrderDetail($order_id, false); 
     553        $objFormParam->setParam(SC_Utils_Ex::sfSwapArray($arrOrderDetail)); 
     554 
     555        $arrShippingsTmp = $objPurchase->getShippings($order_id); 
     556        $arrShippings = array(); 
     557        foreach ($arrShippingsTmp as $row) { 
     558            // お届け日の処理 
     559            if (!SC_Utils_Ex::isBlank($row['shipping_date'])) { 
     560                $ts = strtotime($row['shipping_date']); 
     561                $row['shipping_date_year'] = date('Y', $ts); 
     562                $row['shipping_date_month'] = date('n', $ts); 
     563                $row['shipping_date_day'] = date('j', $ts); 
     564            } 
     565            $arrShippings[$row['shipping_id']] = $row; 
     566        } 
     567        $objFormParam->setValue('shipping_quantity', count($arrShippings)); 
     568        $objFormParam->setParam(SC_Utils_Ex::sfSwapArray($arrShippings)); 
     569 
     570        /* 
     571         * 配送商品を設定 
     572         * 
     573         * $arrShipmentItem['shipment_(key)'][$shipping_id][$item_index] = 値 
     574         * $arrProductQuantity[$shipping_id] = お届け先ごとの配送商品数量 
     575         */ 
     576        $arrProductQuantity = array(); 
     577        $arrShipmentItem = array(); 
     578        foreach ($arrShippings as $shipping_id => $arrShipping) { 
     579            $arrProductQuantity[$shipping_id] = count($arrShipping['shipment_item']); 
     580            foreach ($arrShipping['shipment_item'] as $item_index => $arrItem) { 
     581                foreach ($arrItem as $item_key => $item_val) { 
     582                    $arrShipmentItem['shipment_' . $item_key][$shipping_id][$item_index] = $item_val; 
     583                } 
     584            } 
     585        } 
     586        $objFormParam->setValue('shipping_product_quantity', $arrProductQuantity); 
     587        $objFormParam->setParam($arrShipmentItem); 
     588 
     589        /* 
     590         * 受注情報を設定 
     591         * $arrOrderDetail と項目が重複しており, $arrOrderDetail は連想配列の値 
     592         * が渡ってくるため, $arrOrder で上書きする. 
     593         */ 
     594        $arrOrder = $objPurchase->getOrder($order_id); 
     595        $objFormParam->setParam($arrOrder); 
     596 
     597        // ポイントを設定 
     598        list($db_point, $rollback_point) = SC_Helper_DB_Ex::sfGetRollbackPoint( 
     599                $order_id, $arrOrder['use_point'], $arrOrder['add_point'], $arrOrder['status'] 
     600                ); 
     601        $objFormParam->setValue('total_point', $db_point); 
     602        $objFormParam->setValue('point', $rollback_point); 
     603 
     604        if (!SC_Utils_Ex::isBlank($objFormParam->getValue('customer_id'))) { 
     605            $arrCustomer = SC_Helper_Customer_Ex::sfGetCustomerDataFromId($objFormParam->getValue('customer_id')); 
     606            $objFormParam->setValue('customer_point', $arrCustomer['point']); 
     607        } 
     608    } 
     609 
     610    /** 
     611     * 入力内容のチェックを行う. 
     612     * 
     613     * @param SC_FormParam $objFormParam SC_FormParam インスタンス 
     614     * @return array エラーメッセージの配列 
     615     */ 
     616    function lfCheckError(&$objFormParam) 
     617    { 
     618        $objProduct = new SC_Product_Ex(); 
     619 
     620        $arrErr = $objFormParam->checkError(); 
     621 
     622        if (!SC_Utils_Ex::isBlank($objErr->arrErr)) { 
     623            return $arrErr; 
     624        } 
     625 
     626        $arrValues = $objFormParam->getHashArray(); 
     627 
     628        // 商品の種類数 
     629        $max = count($arrValues['quantity']); 
     630        $subtotal = 0; 
     631        $totalpoint = 0; 
     632        $totaltax = 0; 
     633        for ($i = 0; $i < $max; $i++) { 
     634            // 小計の計算 
     635            $subtotal += SC_Helper_DB_Ex::sfCalcIncTax($arrValues['price'][$i], $arrValues['tax_rate'][$i], $arrValues['tax_rule'][$i]) * $arrValues['quantity'][$i]; 
     636            // 小計の計算 
     637            $totaltax += SC_Utils_Ex::sfTax($arrValues['price'][$i], $arrValues['tax_rate'][$i], $arrValues['tax_rule'][$i]) * $arrValues['quantity'][$i]; 
     638            // 加算ポイントの計算 
     639            $totalpoint += SC_Utils_Ex::sfPrePoint($arrValues['price'][$i], $arrValues['point_rate'][$i]) * $arrValues['quantity'][$i]; 
     640 
     641            // 在庫数のチェック 
     642            $arrProduct = $objProduct->getDetailAndProductsClass($arrValues['product_class_id'][$i]); 
     643 
     644            // 編集前の値と比較するため受注詳細を取得 
     645            $objPurchase = new SC_Helper_Purchase_Ex(); 
     646            $arrOrderDetail = SC_Utils_Ex::sfSwapArray($objPurchase->getOrderDetail($objFormParam->getValue('order_id'), false)); 
     647 
     648            if ($arrProduct['stock_unlimited'] != '1' 
     649                    && $arrProduct['stock'] < $arrValues['quantity'][$i] - $arrOrderDetail['quantity'][$i]) { 
     650                $class_name1 = $arrValues['classcategory_name1'][$i]; 
     651                $class_name1 = SC_Utils_Ex::isBlank($class_name1) ? 'なし' : $class_name1; 
     652                $class_name2 = $arrValues['classcategory_name2'][$i]; 
     653                $class_name2 = SC_Utils_Ex::isBlank($class_name2) ? 'なし' : $class_name2; 
     654                $arrErr['quantity'][$i] .= $arrValues['product_name'][$i] 
     655                    . '/(' . $class_name1 . ')/(' . $class_name2 . ') の在庫が不足しています。 設定できる数量は「' 
     656                    . ($arrOrderDetail['quantity'][$i] + $arrProduct['stock']) . '」までです。<br />'; 
     657            } 
     658        } 
     659 
     660        // 消費税 
     661        $arrValues['tax'] = $totaltax; 
     662        // 小計 
     663        $arrValues['subtotal'] = $subtotal; 
     664        // 合計 
     665        $arrValues['total'] = $subtotal - $arrValues['discount'] + $arrValues['deliv_fee'] + $arrValues['charge']; 
     666        // お支払い合計 
     667        $arrValues['payment_total'] = $arrValues['total'] - ($arrValues['use_point'] * POINT_VALUE); 
     668 
     669        // 加算ポイント 
     670        $arrValues['add_point'] = SC_Helper_DB_Ex::sfGetAddPoint($totalpoint, $arrValues['use_point']) + $arrValues['birth_point']; 
     671 
     672        // 最終保持ポイント 
     673        $arrValues['total_point'] = $objFormParam->getValue('point') - $arrValues['use_point']; 
     674 
     675        if ($arrValues['total'] < 0) { 
     676            $arrErr['total'] = '合計額がマイナス表示にならないように調整して下さい。<br />'; 
     677        } 
     678 
     679        if ($arrValues['payment_total'] < 0) { 
     680            $arrErr['payment_total'] = 'お支払い合計額がマイナス表示にならないように調整して下さい。<br />'; 
     681        } 
     682 
     683        if ($arrValues['total_point'] < 0) { 
     684            $arrErr['use_point'] = '最終保持ポイントがマイナス表示にならないように調整して下さい。<br />'; 
     685        } 
     686 
     687        $objFormParam->setParam($arrValues); 
    623688        return $arrErr; 
    624689    } 
    625  
    626     $arrValues = $objFormParam->getHashArray(); 
    627  
    628     // 商品の種類数 
    629     $max = count($arrValues['quantity']); 
    630     $subtotal = 0; 
    631     $totalpoint = 0; 
    632     $totaltax = 0; 
    633     for ($i = 0; $i < $max; $i++) { 
    634         // 小計の計算 
    635         $subtotal += SC_Helper_DB_Ex::sfCalcIncTax($arrValues['price'][$i], $arrValues['tax_rate'][$i], $arrValues['tax_rule'][$i]) * $arrValues['quantity'][$i]; 
    636         // 小計の計算 
    637         $totaltax += SC_Utils_Ex::sfTax($arrValues['price'][$i], $arrValues['tax_rate'][$i], $arrValues['tax_rule'][$i]) * $arrValues['quantity'][$i]; 
    638         // 加算ポイントの計算 
    639         $totalpoint += SC_Utils_Ex::sfPrePoint($arrValues['price'][$i], $arrValues['point_rate'][$i]) * $arrValues['quantity'][$i]; 
    640  
    641         // 在庫数のチェック 
    642         $arrProduct = $objProduct->getDetailAndProductsClass($arrValues['product_class_id'][$i]); 
    643  
    644         // 編集前の値と比較するため受注詳細を取得 
    645         $objPurchase = new SC_Helper_Purchase_Ex(); 
    646         $arrOrderDetail = SC_Utils_Ex::sfSwapArray($objPurchase->getOrderDetail($objFormParam->getValue('order_id'), false)); 
    647  
    648         if ($arrProduct['stock_unlimited'] != '1' 
    649                 && $arrProduct['stock'] < $arrValues['quantity'][$i] - $arrOrderDetail['quantity'][$i]) { 
    650             $class_name1 = $arrValues['classcategory_name1'][$i]; 
    651             $class_name1 = SC_Utils_Ex::isBlank($class_name1) ? 'なし' : $class_name1; 
    652             $class_name2 = $arrValues['classcategory_name2'][$i]; 
    653             $class_name2 = SC_Utils_Ex::isBlank($class_name2) ? 'なし' : $class_name2; 
    654             $arrErr['quantity'][$i] .= $arrValues['product_name'][$i] 
    655                 . '/(' . $class_name1 . ')/(' . $class_name2 . ') の在庫が不足しています。 設定できる数量は「' 
    656                 . ($arrOrderDetail['quantity'][$i] + $arrProduct['stock']) . '」までです。<br />'; 
    657         } 
    658     } 
    659  
    660     // 消費税 
    661     $arrValues['tax'] = $totaltax; 
    662     // 小計 
    663     $arrValues['subtotal'] = $subtotal; 
    664     // 合計 
    665     $arrValues['total'] = $subtotal - $arrValues['discount'] + $arrValues['deliv_fee'] + $arrValues['charge']; 
    666     // お支払い合計 
    667     $arrValues['payment_total'] = $arrValues['total'] - ($arrValues['use_point'] * POINT_VALUE); 
    668  
    669     // 加算ポイント 
    670     $arrValues['add_point'] = SC_Helper_DB_Ex::sfGetAddPoint($totalpoint, $arrValues['use_point']) + $arrValues['birth_point']; 
    671  
    672     // 最終保持ポイント 
    673     $arrValues['total_point'] = $objFormParam->getValue('point') - $arrValues['use_point']; 
    674  
    675     if ($arrValues['total'] < 0) { 
    676         $arrErr['total'] = '合計額がマイナス表示にならないように調整して下さい。<br />'; 
    677     } 
    678  
    679     if ($arrValues['payment_total'] < 0) { 
    680         $arrErr['payment_total'] = 'お支払い合計額がマイナス表示にならないように調整して下さい。<br />'; 
    681     } 
    682  
    683     if ($arrValues['total_point'] < 0) { 
    684         $arrErr['use_point'] = '最終保持ポイントがマイナス表示にならないように調整して下さい。<br />'; 
    685     } 
    686  
    687     $objFormParam->setParam($arrValues); 
    688     return $arrErr; 
    689 } 
    690690 
    691691    /** 
     
    10361036 
    10371037    /** 
    1038      * 複数配送のパラメータを取り出す  
     1038     * 複数配送のパラメータを取り出す 
    10391039     * 
    10401040     * @param SC_FormParam $objFormParam SC_FormParam インスタンス 
Note: See TracChangeset for help on using the changeset viewer.