- Timestamp:
- 2011/02/17 19:40:06 (15 years ago)
- bzr:base-revision:
- svn-v4:1e3b908f-19a9-db11-a64c-001125224ba8:branches/version-2_5-dev:20179
- bzr:committer:
- Kentaro Ohkouchi <[email protected]>
- bzr:file-ids:
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/SC_FormParam.php 15078@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2Fclass%2FSC_FormParam.php
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
data/class/pages/admin/order/LC_Page_Admin_Order_Status.php 15596@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2Fclass%2Fpages%2Fadmin%2Forder%2FLC_Page_Admin_Order_Status.php- bzr:mapping-version:
- v4
- bzr:merge:
[email protected]- bzr:repository-uuid:
- 1e3b908f-19a9-db11-a64c-001125224ba8
- bzr:revision-id:
- [email protected]
- bzr:revno:
- 2908
- bzr:revprop:branch-nick:
- branches/version-2_5-dev
- bzr:root:
- branches/version-2_5-dev
- bzr:text-revisions:
data/Smarty/templates/admin/order/edit.tpl [email protected]
data/Smarty/templates/admin/order/multiple.tpl [email protected]
data/class/SC_FormParam.php [email protected]
data/class/helper/SC_Helper_Purchase.php [email protected]
data/class/pages/admin/order/LC_Page_Admin_Order_Edit.php [email protected]
data/class/pages/admin/order/LC_Page_Admin_Order_Status.php [email protected]- bzr:timestamp:
- 2011-02-17 19:40:03.388000011 +0900
- bzr:user-agent:
- bzr2.2.1+bzr-svn1.0.4
- svn:original-date:
- 2011-02-17T10:40:03.388000Z
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/version-2_5-dev/data/class/helper/SC_Helper_DB.php
r20171 r20180 1368 1368 1369 1369 /** 1370 * 受注の名称列を更新する1371 *1372 * FIXME1373 *1374 * @param integer $order_id 更新対象の注文番号1375 * @param boolean $temp_table 更新対象は「受注_Temp」か1376 * @static1377 */1378 function sfUpdateOrderNameCol($order_id, $temp_table = false) {1379 $objQuery =& SC_Query::getSingletonInstance();1380 1381 if ($temp_table) {1382 $tgt_table = 'dtb_order_temp';1383 $sql_where = 'WHERE order_temp_id = ?';1384 } else {1385 $tgt_table = 'dtb_order';1386 $sql_where = 'WHERE order_id = ?';1387 }1388 1389 $sql = <<< __EOS__1390 UPDATE1391 {$tgt_table}1392 SET1393 payment_method = (SELECT payment_method FROM dtb_payment WHERE payment_id = {$tgt_table}.payment_id)1394 ,deliv_time = (SELECT deliv_time FROM dtb_delivtime WHERE time_id = {$tgt_table}.deliv_time_id AND deliv_id = {$tgt_table}.deliv_id)1395 $sql_where1396 __EOS__;1397 1398 $objQuery->query($sql, array($order_id));1399 }1400 1401 /**1402 1370 * 店舗基本情報に基づいて税金額を返す 1403 1371 * … … 1437 1405 1438 1406 return SC_Utils_Ex::sfGetAddPoint($totalpoint, $use_point, $CONF['point_rate']); 1439 }1440 1441 /**1442 * 受注.対応状況の更新1443 *1444 * ・必ず呼び出し元でトランザクションブロックを開いておくこと。1445 *1446 * @param integer $orderId 注文番号1447 * @param integer|null $newStatus 対応状況 (null=変更無し)1448 * @param integer|null $newAddPoint 加算ポイント (null=変更無し)1449 * @param integer|null $newUsePoint 使用ポイント (null=変更無し)1450 * @param array $sqlval 更新後の値をリファレンスさせるためのパラメータ1451 * @return void1452 */1453 function sfUpdateOrderStatus($orderId, $newStatus = null, $newAddPoint = null, $newUsePoint = null) {1454 $objQuery =& SC_Query::getSingletonInstance();1455 1456 $arrOrderOld = $objQuery->getRow('status, add_point, use_point, customer_id', 'dtb_order', 'order_id = ?', array($orderId));1457 1458 // 対応状況が変更無しの場合、DB値を引き継ぐ1459 if (is_null($newStatus)) {1460 $newStatus = $arrOrderOld['status'];1461 }1462 1463 // 使用ポイント、DB値を引き継ぐ1464 if (is_null($newUsePoint)) {1465 $newUsePoint = $arrOrderOld['use_point'];1466 }1467 1468 // 加算ポイント、DB値を引き継ぐ1469 if (is_null($newAddPoint)) {1470 $newAddPoint = $arrOrderOld['add_point'];1471 }1472 1473 if (USE_POINT !== false) {1474 // 顧客.ポイントの加減値1475 $addCustomerPoint = 0;1476 1477 // ▼使用ポイント1478 // 変更前の対応状況が利用対象の場合、変更前の使用ポイント分を戻す1479 if (SC_Utils_Ex::sfIsUsePoint($arrOrderOld['status'])) {1480 $addCustomerPoint += $arrOrderOld['use_point'];1481 }1482 1483 // 変更後の対応状況が利用対象の場合、変更後の使用ポイント分を引く1484 if (SC_Utils_Ex::sfIsUsePoint($newStatus)) {1485 $addCustomerPoint -= $newUsePoint;1486 }1487 // ▲使用ポイント1488 1489 // ▼加算ポイント1490 // 変更前の対応状況が加算対象の場合、変更前の加算ポイント分を戻す1491 if (SC_Utils_Ex::sfIsAddPoint($arrOrderOld['status'])) {1492 $addCustomerPoint -= $arrOrderOld['add_point'];1493 }1494 1495 // 変更後の対応状況が加算対象の場合、変更後の加算ポイント分を足す1496 if (SC_Utils_Ex::sfIsAddPoint($newStatus)) {1497 $addCustomerPoint += $newAddPoint;1498 }1499 // ▲加算ポイント1500 1501 if ($addCustomerPoint != 0) {1502 // ▼顧客テーブルの更新1503 $sqlval = array();1504 $where = '';1505 $arrVal = array();1506 $arrRawSql = array();1507 $arrRawSqlVal = array();1508 1509 $sqlval['update_date'] = 'Now()';1510 $arrRawSql['point'] = 'point + ?';1511 $arrRawSqlVal[] = $addCustomerPoint;1512 $where .= 'customer_id = ?';1513 $arrVal[] = $arrOrderOld['customer_id'];1514 1515 $objQuery->update('dtb_customer', $sqlval, $where, $arrVal, $arrRawSql, $arrRawSqlVal);1516 // ▲顧客テーブルの更新1517 1518 // 顧客.ポイントをマイナスした場合、1519 if ($addCustomerPoint < 0) {1520 $sql = 'SELECT point FROM dtb_customer WHERE customer_id = ?';1521 $point = $objQuery->getOne($sql, array($arrOrderOld['customer_id']));1522 // 変更後の顧客.ポイントがマイナスの場合、1523 if ($point < 0) {1524 // ロールバック1525 $objQuery->rollback();1526 // エラー1527 SC_Utils_Ex::sfDispSiteError(LACK_POINT);1528 }1529 }1530 }1531 }1532 1533 // ▼受注テーブルの更新1534 if (empty($sqlval)) {1535 $sqlval = array();1536 }1537 1538 if (USE_POINT !== false) {1539 $sqlval['add_point'] = $newAddPoint;1540 $sqlval['use_point'] = $newUsePoint;1541 }1542 // ステータスが発送済みに変更の場合、発送日を更新1543 if ($arrOrderOld['status'] != ORDER_DELIV && $newStatus == ORDER_DELIV) {1544 $sqlval['commit_date'] = 'Now()';1545 }1546 // ステータスが入金済みに変更の場合、入金日を更新1547 elseif ($arrOrderOld['status'] != ORDER_PRE_END && $newStatus == ORDER_PRE_END) {1548 $sqlval['payment_date'] = 'Now()';1549 }1550 1551 $sqlval['status'] = $newStatus;1552 $sqlval['update_date'] = 'Now()';1553 1554 $cols = $objQuery->listTableFields('dtb_order');1555 $dest = array();1556 foreach ($sqlval as $key => $val) {1557 if (in_array($key, $cols)) {1558 $dest[$key] = $val;1559 }1560 }1561 1562 $objQuery->update('dtb_order', $dest, 'order_id = ?', array($orderId));1563 // ▲受注テーブルの更新1564 1407 } 1565 1408
Note: See TracChangeset
for help on using the changeset viewer.
