Index: branches/version-2_4/data/class/pages/admin/order/LC_Page_Admin_Order_Edit.php
===================================================================
--- branches/version-2_4/data/class/pages/admin/order/LC_Page_Admin_Order_Edit.php	(revision 17947)
+++ branches/version-2_4/data/class/pages/admin/order/LC_Page_Admin_Order_Edit.php	(revision 17979)
@@ -153,5 +153,5 @@
             $this->objFormParam->convParam();
             $this->arrErr = $this->lfCheckError();
-            $this->arrErr = array_merge( (array) $this->arrErr, (array)$this->lfCheek($arrInfo) );
+            $this->arrErr = array_merge( (array) $this->arrErr, (array)$this->lfCheek($arrInfo, $_POST['mode']) );
 
             if(count($this->arrErr) == 0) {
@@ -183,5 +183,5 @@
             $this->arrErr = $this->lfCheckError();
             if(count($this->arrErr) == 0) {
-                $this->arrErr = $this->lfCheek($arrInfo);
+                $this->arrErr = $this->lfCheek($arrInfo, $_POST['mode']);
             }
             break;
@@ -457,5 +457,5 @@
 
     /* 計算処理 */
-    function lfCheek($arrInfo) {
+    function lfCheek($arrInfo,$mode = "") {
         $objDb = new SC_Helper_DB_Ex();
         $arrVal = $this->objFormParam->getHashArray();
@@ -488,6 +488,9 @@
         $arrVal['add_point'] = SC_Utils_Ex::sfGetAddPoint($totalpoint, $arrVal['use_point'], $arrInfo);
 
-        list($arrVal['point'], $arrVal['total_point']) = $objDb->sfGetCustomerPoint($_POST['order_id'], $arrVal['use_point'], $arrVal['add_point']);
-
+        if (strlen($_POST['customer_id']) >0){
+            list($arrVal['point'], $arrVal['total_point']) = $objDb->sfGetCustomerPointFromCid($_POST['customer_id'], $arrVal['use_point'], $arrVal['add_point']);
+        }else{
+            list($arrVal['point'], $arrVal['total_point']) = $objDb->sfGetCustomerPoint($_POST['order_id'], $arrVal['use_point'], $arrVal['add_point']);
+        }
         if($arrVal['total'] < 0) {
             $arrErr['total'] = '合計額がマイナス表示にならないように調整して下さい。<br />';
@@ -497,6 +500,9 @@
             $arrErr['payment_total'] = 'お支払い合計額がマイナス表示にならないように調整して下さい。<br />';
         }
-        if($arrVal['total_point'] < 0) {
-            $arrErr['total_point'] = '最終保持ポイントがマイナス表示にならないように調整して下さい。<br />';
+        //新規追加受注のみ
+        if ($mode == "add"){
+            if($arrVal['total_point'] < 0) {
+                $arrErr['use_point'] = '最終保持ポイントがマイナス表示にならないように調整して下さい。<br />';
+            }
         }
 
Index: branches/version-2_4/data/class/helper/SC_Helper_DB.php
===================================================================
--- branches/version-2_4/data/class/helper/SC_Helper_DB.php	(revision 17785)
+++ branches/version-2_4/data/class/helper/SC_Helper_DB.php	(revision 17979)
@@ -531,4 +531,24 @@
 
     /**
+     * 顧客番号、利用ポイント、加算ポイントから最終ポイントを取得する.
+     *
+     * @param integer $customer_id 顧客番号
+     * @param integer $use_point 利用ポイント
+     * @param integer $add_point 加算ポイント
+     * @return array 最終ポイントの配列
+     */
+    function sfGetCustomerPointFromCid($customer_id, $use_point, $add_point) {
+        $objQuery = new SC_Query();
+        if (USE_POINT === true) {
+                $arrRet = $objQuery->select("point", "dtb_customer", "customer_id = ?", array($customer_id));
+                $point = $arrRet[0]['point'];
+                $total_point = $arrRet[0]['point'] - $use_point + $add_point;
+        } else {
+            $total_point = 0;
+            $point = 0;
+        }
+        return array($point, $total_point);
+    }
+    /**
      * カテゴリツリーの取得を行う.
      *
