Ignore:
Timestamp:
2010/07/20 13:25:33 (14 years ago)
Author:
kajiwara
Message:

EC-CUBE Ver2.4.4 分コミット。詳細はこちら( http://www.ec-cube.net/release/detail.php?release_id=223

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/data/class/pages/admin/order/LC_Page_Admin_Order_Edit.php

    r18562 r18758  
    33 * This file is part of EC-CUBE 
    44 * 
    5  * Copyright(c) 2000-2007 LOCKON CO.,LTD. All Rights Reserved. 
     5 * Copyright(c) 2000-2010 LOCKON CO.,LTD. All Rights Reserved. 
    66 * 
    77 * http://www.lockon.co.jp/ 
     
    111111        $objSiteInfo = new SC_SiteInfo(); 
    112112        $objDb = new SC_Helper_DB_Ex(); 
    113         $objDate = new SC_Date(1901);  
     113        $objDate = new SC_Date(1970); 
    114114        $this->arrYearDelivDate = $objDate->getYear('', date('Y'), ''); 
    115115        $this->arrMonthDelivDate = $objDate->getMonth(true); 
     
    309309        if (file_exists(MODULE_PATH . 'mdl_sps/request.php') === TRUE) { 
    310310            $objQuery = new SC_Query(); 
    311             $this->paymentType = $objQuery->getall("SELECT module_code, memo03 FROM dtb_payment WHERE payment_id = ? ", array($this->arrForm["payment_id"]['value'])); 
     311            $this->paymentType = $objQuery->getAll("SELECT module_code, memo03 FROM dtb_payment WHERE payment_id = ? ", array($this->arrForm["payment_id"]['value'])); 
    312312            $objDate = new SC_Date(); 
    313313            $objDate->setStartYear(RELEASE_YEAR); 
     
    381381        $this->objFormParam->addParam("お届け時間ID", "deliv_time_id", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK")); 
    382382        $this->objFormParam->addParam("対応状況", "status", INT_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK")); 
    383         $this->objFormParam->addParam("お届け日", "deliv_date", STEXT_LEN, "KVa", array("SPTAB_CHECK", "MAX_LENGTH_CHECK")); 
     383        $this->objFormParam->addParam("お届け日(年)", "deliv_date_year", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK")); 
     384        $this->objFormParam->addParam("お届け日(月)", "deliv_date_month", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK")); 
     385        $this->objFormParam->addParam("お届け日(日)", "deliv_date_day", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK")); 
    384386        $this->objFormParam->addParam("お支払方法名称", "payment_method"); 
    385387        $this->objFormParam->addParam("お届け時間", "deliv_time"); 
     
    410412        $this->objFormParam->addParam("受注日", "create_date"); 
    411413        $this->objFormParam->addParam("発送日", "commit_date"); 
    412         $this->objFormParam->addParam("お届け日", "deliv_date");  
     414        $this->objFormParam->addParam("備考", "message"); 
     415        $this->objFormParam->addParam("お届け日", "deliv_date"); 
    413416    } 
    414417 
     
    424427            $this->objFormParam->setValue('total_point', $total_point); 
    425428            $this->objFormParam->setValue('point', $point); 
    426             $delivDate = split(" ", $arrRet[0]["deliv_date"]); 
    427             $delivDate = split("-", $delivDate[0]); 
    428             $this->objFormParam->setValue('deliv_date_year', $delivDate[0]); 
    429             $this->objFormParam->setValue('deliv_date_month', isset($delivDate[1]) ? $delivDate[1] : ""); 
    430             $this->objFormParam->setValue('deliv_date_day', isset($delivDate[2]) ? $delivDate[2] : ""); 
     429            // XXX お届け日の処理 
     430            if (!empty($arrRet[0]["deliv_date"])) { 
     431                $delivDate = mb_strcut($arrRet[0]["deliv_date"], 0, 8); 
     432                $delivDate = split("/", $delivDate); 
     433                $ts = mktime(0, 0, 0, $delivDate[1], $delivDate[2], $delivDate[0]); 
     434                $this->objFormParam->setValue('deliv_date_year', date("Y", $ts)); 
     435                $this->objFormParam->setValue('deliv_date_month', date("n", $ts)); 
     436                $this->objFormParam->setValue('deliv_date_day', date("j", $ts)); 
     437            } 
    431438            $this->arrForm = $arrRet[0]; 
    432439 
     
    456463        $col = "product_id, classcategory_id1, classcategory_id2, product_code, product_name, classcategory_name1, classcategory_name2, price, quantity, point_rate"; 
    457464        $where = "order_id = ?"; 
    458         $objQuery->setorder("classcategory_id1, classcategory_id2"); 
     465        $objQuery->setOrder("classcategory_id1, classcategory_id2"); 
    459466        $arrRet = $objQuery->select($col, "dtb_order_detail", $where, array($order_id)); 
    460467        return $arrRet; 
     
    466473        $arrRet =  $this->objFormParam->getHashArray(); 
    467474        $objErr = new SC_CheckError($arrRet); 
    468         $objErr->arrErr = $this->objFormParam->checkError(); 
    469  
    470475        $objErr->doFunc(array("お届け日", "deliv_date_year", "deliv_date_month", "deliv_date_day"), array("CHECK_DATE")); 
    471  
    472476        if (count($objErr->arrErr) >= 1) { 
    473477            return $objErr->arrErr; 
    474478        } 
    475  
    476         return $objErr->arrErr; 
     479        return $this->objFormParam->checkError(); 
    477480    } 
    478481 
     
    495498            // 加算ポイントの計算 
    496499            $totalpoint += SC_Utils_Ex::sfPrePoint($arrVal['price'][$i], $arrVal['point_rate'][$i]) * $arrVal['quantity'][$i]; 
     500 
     501            // 在庫数のチェック 
     502            $productClass = $objDb->sfGetProductsClass(array($arrVal['product_id'][$i], 
     503                                                             $arrVal['classcategory_id1'][$i], 
     504                                                             $arrVal['classcategory_id2'][$i])); 
     505            if ($productClass['stock_unlimited'] != '1' 
     506                && $productClass['stock'] < ($arrVal['quantity'][$i] - $this->arrForm['quantity'][$i])) { 
     507                $className1 = $this->arrForm['classcategory_name1'][$i]; 
     508                $className1 = empty($className1) ? 'なし' : $className1; 
     509                $className2 = $this->arrForm['classcategory_name2'][$i]; 
     510                $className2 = empty($className2) ? 'なし' : $className2; 
     511 
     512                if (!isset($arrErr['quantity'])) $arrErr['quantity'] = ""; 
     513 
     514                $arrErr['quantity'] .= $this->arrForm['product_name'][$i] . '/(' . $className1 . ')/(' . $className2 . ') の在庫が不足しています。 設定できる数量は「' . ($this->arrForm['quantity'][$i] + $productClass['stock']) . '」までです。<br />'; 
     515            } 
    497516        } 
    498517 
     
    557576        $sqlval['update_date'] = 'Now()'; 
    558577 
    559         if (strlen($sqlval['deliv_date_year']) >= 0) { 
    560             $sqlval['deliv_date'] = $sqlval['deliv_date_year'] . '-' . $sqlval['deliv_date_month'] . '-' . $sqlval['deliv_date_day']; 
     578        // XXX お届け日の処理 
     579        if (!empty($sqlval['deliv_date_year'])) { 
     580            $ts = mktime(0, 0, 0, $sqlval['deliv_date_month'], $sqlval['deliv_date_day'], $sqlval['deliv_date_year']); 
     581            $sqlval['deliv_date'] = date("y/m/d", $ts); 
     582            $masterData = new SC_DB_MasterData(); 
     583            $arrWDAY = $masterData->getMasterData("mtb_wday"); 
     584            $sqlval['deliv_date'] .= sprintf("(%s)", $arrWDAY[date("w", $ts)]); 
     585        } else { 
     586            $sqlval['deliv_date'] = ""; 
    561587        } 
    562588        unset($sqlval['deliv_date_year']); 
    563589        unset($sqlval['deliv_date_month']); 
    564590        unset($sqlval['deliv_date_day']); 
    565  
    566591        unset($sqlval['total_point']); 
    567592        unset($sqlval['point']); 
     
    714739        } 
    715740 
     741        // XXX お届け日の処理 
     742        if (!empty($sqlval['deliv_date_year'])) { 
     743            $ts = mktime(0, 0, 0, $sqlval['deliv_date_month'], $sqlval['deliv_date_day'], $sqlval['deliv_date_year']); 
     744            $sqlval['deliv_date'] = date("y/m/d", $ts); 
     745            $masterData = new SC_DB_MasterData(); 
     746            $arrWDAY = $masterData->getMasterData("mtb_wday"); 
     747            $sqlval['deliv_date'] .= sprintf("(%s)", $arrWDAY[date("w", $ts)]); 
     748 
     749        } 
     750        unset($sqlval['deliv_date_year']); 
     751        unset($sqlval['deliv_date_month']); 
     752        unset($sqlval['deliv_date_day']); 
     753 
    716754        unset($sqlval['total_point']); 
    717755        unset($sqlval['point']); 
     
    768806            // 在庫数減少処理 
    769807            // 現在の実在庫数取得 
    770             $pre_stock = $objQuery->getone("SELECT stock FROM dtb_products_class WHERE product_id = ? AND classcategory_id1 = ?  AND classcategory_id2 = ?", array($arrDetail[$i]['product_id'], $arrDetail[$i]['classcategory_id1'], $arrDetail[$i]['classcategory_id2'])); 
     808            $pre_stock = $objQuery->getOne("SELECT stock FROM dtb_products_class WHERE product_id = ? AND classcategory_id1 = ?  AND classcategory_id2 = ?", array($arrDetail[$i]['product_id'], $arrDetail[$i]['classcategory_id1'], $arrDetail[$i]['classcategory_id2'])); 
    771809 
    772810            $stock_sqlval = array(); 
     
    880918 
    881919            // 受注日に現在の時刻を取得し、表示させる 
    882             $create_date = $objQuery->getall('SELECT now() as create_date;'); 
     920            $create_date = $objQuery->getAll('SELECT now() as create_date;'); 
    883921            $arrCustomer['create_date'] = $create_date[0]['create_date']; 
    884922 
Note: See TracChangeset for help on using the changeset viewer.