Changeset 18872
- Timestamp:
- 2010/10/28 14:55:38 (13 years ago)
- bzr:base-revision:
- ohkouchi@loop-az.jp-20101027032001-13l3ma4hbgpfw2fc
- bzr:committer:
- Kentaro Ohkouchi <ohkouchi@loop-az.jp>
- bzr:file-ids:
data/Smarty/templates/default/admin/order/edit.tpl 15732@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2FSmarty%2Ftemplates%2Fdefault%2Fadmin%2Forder%2Fedit.tpl
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_ProductSelect.php 17293@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Fcomu-ver2%2Fdata%2Fclass%2Fpages%2Fadmin%2Forder%2FLC_Page_Admin_Order_ProductSelect.php- bzr:mapping-version:
- v4
- bzr:repository-uuid:
- 1e3b908f-19a9-db11-a64c-001125224ba8
- bzr:revision-id:
- ohkouchi@loop-az.jp-20101028055535-hj03x06b2u513iap
- bzr:revno:
- 2352
- bzr:revprop:branch-nick:
- branches/version-2_5-dev
- bzr:root:
- branches/version-2_5-dev
- bzr:timestamp:
- 2010-10-28 14:55:35.648000002 +0900
- bzr:user-agent:
- bzr2.2.0+bzr-svn1.0.3
- svn:original-date:
- 2010-10-28T05:55:35.648000Z
- Location:
- branches/version-2_5-dev/data
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/version-2_5-dev/data/Smarty/templates/default/admin/order/edit.tpl
r18853 r18872 57 57 <input type="hidden" name="anchor_key" value="" /> 58 58 <input type="hidden" id="add_product_id" name="add_product_id" value="" /> 59 <input type="hidden" id="add_classcategory_id1" name="add_classcategory_id1" value="" /> 60 <input type="hidden" id="add_classcategory_id2" name="add_classcategory_id2" value="" /> 59 <input type="hidden" id="add_product_class_id" name="add_product_class_id" value="" /> 61 60 <input type="hidden" id="edit_product_id" name="edit_product_id" value="" /> 62 <input type="hidden" id="edit_classcategory_id1" name="edit_classcategory_id1" value="" /> 63 <input type="hidden" id="edit_classcategory_id2" name="edit_classcategory_id2" value="" /> 61 <input type="hidden" id="edit_product_class_id" name="edit_product_class_id" value="" /> 64 62 <input type="hidden" id="no" name="no" value="" /> 65 63 <input type="hidden" id="delete_no" name="delete_no" value="" /> … … 341 339 <!--{/if}--> 342 340 <input type="hidden" name="product_id[<!--{$key}-->]" value="<!--{$arrForm.product_id.value[$key]}-->" id="product_id_<!--{$key}-->" /> 341 <input type="hidden" name="product_class_id[<!--{$key}-->]" value="<!--{$arrForm.product_class_id.value[$key]}-->" id="product_class_id_<!--{$key}-->" /> 343 342 <input type="hidden" name="point_rate[<!--{$key}-->]" value="<!--{$arrForm.point_rate.value[$key]}-->" id="point_rate_<!--{$key}-->" /> 344 <input type="hidden" name="classcategory_id1[<!--{$key}-->]" value="<!--{$arrForm.classcategory_id1.value[$key]}-->" id="classcategory_id1_<!--{$key}-->" />345 <input type="hidden" name="classcategory_id2[<!--{$key}-->]" value="<!--{$arrForm.classcategory_id2.value[$key]}-->" id="classcategory_id2_<!--{$key}-->" />346 343 </td> 347 344 <td align="center"><input type="text" name="price[<!--{$key}-->]" value="<!--{$arrForm.price.value[$key]|escape}-->" size="6" class="box6" maxlength="<!--{$arrForm.price.length}-->" id="price_<!--{$key}-->"/> 円</td> -
branches/version-2_5-dev/data/class/pages/admin/order/LC_Page_Admin_Order_Edit.php
r18858 r18872 386 386 $this->objFormParam->addParam("数量", "quantity", INT_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK"), '0'); 387 387 $this->objFormParam->addParam("商品ID", "product_id", INT_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK"), '0'); 388 $this->objFormParam->addParam("商品規格ID", "product_class_id", INT_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK"), '0'); 388 389 $this->objFormParam->addParam("ポイント付与率", "point_rate"); 389 390 $this->objFormParam->addParam("商品コード", "product_code"); 390 391 $this->objFormParam->addParam("商品名", "product_name"); 391 $this->objFormParam->addParam("規格1", "classcategory_id1");392 $this->objFormParam->addParam("規格2", "classcategory_id2");393 392 $this->objFormParam->addParam("規格名1", "classcategory_name1"); 394 393 $this->objFormParam->addParam("規格名2", "classcategory_name2"); … … 549 548 SC_Helper_DB_Ex::sfUpdateOrderNameCol($order_id); 550 549 551 $arrDetail = $this->objFormParam->getSwapArray(array("product_id", "product_c ode", "product_name", "price", "quantity", "point_rate", "classcategory_id1", "classcategory_id2", "classcategory_name1", "classcategory_name2"));550 $arrDetail = $this->objFormParam->getSwapArray(array("product_id", "product_class_id", "product_code", "product_name", "price", "quantity", "point_rate", "classcategory_name1", "classcategory_name2")); 552 551 553 552 … … 558 557 for($i = 0; $i < $max; $i++) { 559 558 if (!empty($arrDetail[$i]['product_id'])) { 560 $arrPreDetail = $objQuery->select('*', "dtb_order_detail", "order_id = ? AND product_ id = ? AND classcategory_id1 = ? AND classcategory_id2 = ?", array($order_id, $arrDetail[$i]['product_id'], $arrDetail[$i]['classcategory_id1'], $arrDetail[$i]['classcategory_id2']));559 $arrPreDetail = $objQuery->select('*', "dtb_order_detail", "order_id = ? AND product_class_id = ?", array($order_id, $arrDetail[$i]['product_class_id'])); 561 560 if (!empty($arrPreDetail) && $arrPreDetail[0]['quantity'] != $arrDetail[$i]['quantity']) { 562 561 // 数量が変更された商品 563 $arrStockData[$k]['product_id'] = $arrDetail[$i]['product_id']; 564 $arrStockData[$k]['classcategory_id1'] = $arrDetail[$i]['classcategory_id1']; 565 $arrStockData[$k]['classcategory_id2'] = $arrDetail[$i]['classcategory_id2']; 562 $arrStockData[$k]['product_class_id'] = $arrDetail[$i]['product_class_id']; 566 563 $arrStockData[$k]['quantity'] = $arrPreDetail[0]['quantity'] - $arrDetail[$i]['quantity']; 567 564 ++$k; 568 565 } elseif (empty($arrPreDetail)) { 569 566 // 新しく追加された商品 もしくは 違う商品に変更された商品 570 $arrStockData[$k]['product_id'] = $arrDetail[$i]['product_id']; 571 $arrStockData[$k]['classcategory_id1'] = $arrDetail[$i]['classcategory_id1']; 572 $arrStockData[$k]['classcategory_id2'] = $arrDetail[$i]['classcategory_id2']; 567 $arrStockData[$k]['product_class_id'] = $arrDetail[$i]['product_class_id']; 573 568 $arrStockData[$k]['quantity'] = -$arrDetail[$i]['quantity']; 574 569 ++$k; 575 570 } 576 $objQuery->delete("dtb_order_detail", "order_id = ? AND product_ id = ? AND classcategory_id1 = ? AND classcategory_id2 = ?", array($order_id, $arrDetail[$i]['product_id'], $arrDetail[$i]['classcategory_id1'], $arrDetail[$i]['classcategory_id2']));571 $objQuery->delete("dtb_order_detail", "order_id = ? AND product_class_id = ?", array($order_id, $arrDetail[$i]['product_class_id'])); 577 572 } 578 573 } … … 581 576 $arrPreDetail = $objQuery->select('*', "dtb_order_detail", "order_id = ?", array($order_id)); 582 577 foreach ($arrPreDetail AS $key=>$val) { 583 $arrStockData[$k]['product_id'] = $val['product_id']; 584 $arrStockData[$k]['classcategory_id1'] = $val['classcategory_id1']; 585 $arrStockData[$k]['classcategory_id2'] = $val['classcategory_id2']; 578 $arrStockData[$k]['product_class_id'] = $val['product_class_id']; 586 579 $arrStockData[$k]['quantity'] = $val['quantity']; 587 580 ++$k; … … 597 590 $sqlval['order_id'] = $order_id; 598 591 $sqlval['product_id'] = $arrDetail[$i]['product_id']; 592 $sqlval['product_class_id'] = $arrDetail[$i]['product_class_id']; 599 593 $sqlval['product_code'] = $arrDetail[$i]['product_code']; 600 594 $sqlval['product_name'] = $arrDetail[$i]['product_name']; … … 602 596 $sqlval['quantity'] = $arrDetail[$i]['quantity']; 603 597 $sqlval['point_rate'] = $arrDetail[$i]['point_rate']; 604 $sqlval['classcategory_id1'] = $arrDetail[$i]['classcategory_id1'];605 $sqlval['classcategory_id2'] = $arrDetail[$i]['classcategory_id2'];606 598 $sqlval['classcategory_name1'] = $arrDetail[$i]['classcategory_name1']; 607 599 $sqlval['classcategory_name2'] = $arrDetail[$i]['classcategory_name2']; … … 612 604 $status = $sqlval['status']; 613 605 if (ORDER_DELIV != $status && ORDER_CANCEL != $status) { 614 $stock_sql = "UPDATE dtb_products_class SET stock = stock + ? WHERE product_ id = ? AND classcategory_id1 = ? AND classcategory_id2 = ?;";606 $stock_sql = "UPDATE dtb_products_class SET stock = stock + ? WHERE product_class_id = ?"; 615 607 foreach ($arrStockData AS $key=>$val) { 616 608 $stock_sqlval = array(); 617 609 $stock_sqlval[] = $val['quantity']; 618 $stock_sqlval[] = $val['product_id']; 619 $stock_sqlval[] = $val['classcategory_id1']; 620 $stock_sqlval[] = $val['classcategory_id2']; 610 $stock_sqlval[] = $val['product_class_id']; 621 611 622 612 $objQuery->query($stock_sql, $stock_sqlval); … … 665 655 666 656 // 受注詳細データの更新 667 $arrDetail = $this->objFormParam->getSwapArray(array("product_id", "product_c ode", "product_name", "price", "quantity", "point_rate", "classcategory_id1", "classcategory_id2", "classcategory_name1", "classcategory_name2"));657 $arrDetail = $this->objFormParam->getSwapArray(array("product_id", "product_class_id", "product_code", "product_name", "price", "quantity", "point_rate", "classcategory_name1", "classcategory_name2")); 668 658 $objQuery->delete("dtb_order_detail", 'order_id = ?', array($order_id)); 669 659 … … 673 663 $sqlval['order_id'] = $order_id; 674 664 $sqlval['product_id'] = $arrDetail[$i]['product_id']; 665 $sqlval['product_class_id'] = $arrDetail[$i]['product_class_id']; 675 666 $sqlval['product_code'] = $arrDetail[$i]['product_code']; 676 667 $sqlval['product_name'] = $arrDetail[$i]['product_name']; … … 678 669 $sqlval['quantity'] = $arrDetail[$i]['quantity']; 679 670 $sqlval['point_rate'] = $arrDetail[$i]['point_rate']; 680 $sqlval['classcategory_id1'] = $arrDetail[$i]['classcategory_id1'];681 $sqlval['classcategory_id2'] = $arrDetail[$i]['classcategory_id2'];682 671 $sqlval['classcategory_name1'] = $arrDetail[$i]['classcategory_name1']; 683 672 $sqlval['classcategory_name2'] = $arrDetail[$i]['classcategory_name2']; … … 688 677 // 在庫数減少処理 689 678 // 現在の実在庫数取得 690 $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']));679 $pre_stock = $objQuery->getOne("SELECT stock FROM dtb_products_class WHERE product_class_id = ?", array($arrDetail[$i]['product_class_id'])); 691 680 692 681 $stock_sqlval = array(); … … 697 686 698 687 $st_params = array(); 699 $st_params[] = $arrDetail[$i]['product_id']; 700 $st_params[] = $arrDetail[$i]['classcategory_id1']; 701 $st_params[] = $arrDetail[$i]['classcategory_id2']; 702 703 $objQuery->update("dtb_products_class", $stock_sqlval, 'product_id = ? AND classcategory_id1 = ? AND classcategory_id2 = ?', $st_params); 688 $st_params[] = $arrDetail[$i]['product_class_id']; 689 690 $objQuery->update("dtb_products_class", $stock_sqlval, 'product_class_id = ?', $st_params); 704 691 } 705 692 $objQuery->commit(); … … 714 701 $existes_key = NULL; 715 702 // 既に同じ商品がないか、確認する 716 if (!empty($this->arrForm['product_ id']['value'])) {717 foreach ($this->arrForm['product_ id']['value'] AS $key=>$val) {703 if (!empty($this->arrForm['product_class_id']['value'])) { 704 foreach ($this->arrForm['product_class_id']['value'] AS $key=>$val) { 718 705 // 既に同じ商品がある場合 719 706 if ($val == $product_id && $this->arrForm['product_id']['classcategory_id1'][$key] == $classcategory_id1 && $this->arrForm['product_id']['classcategory_id2'][$key] == $classcategory_id2) { … … 752 739 } 753 740 754 function lfGetProductsClass($product_ id, $classcategory_id1, $classcategory_id2) {741 function lfGetProductsClass($product_class_id) { 755 742 $objDb = new SC_Helper_DB_Ex(); 756 743 $arrClassCatName = $objDb->sfGetIDValueList("dtb_classcategory", "classcategory_id", "name"); 757 $arrRet = $objDb->sfGetProductsClass(array($product_ id, $classcategory_id1, $classcategory_id2), true);744 $arrRet = $objDb->sfGetProductsClass(array($product_class_id), true); 758 745 759 746 $arrProduct['price'] = $arrRet['price02']; 760 747 $arrProduct['quantity'] = 1; 761 748 $arrProduct['product_id'] = $arrRet['product_id']; 749 $arrProduct['product_class_id'] = $arrRet['product_class_id']; 762 750 $arrProduct['point_rate'] = $arrRet['point_rate']; 763 751 $arrProduct['product_code'] = $arrRet['product_code']; 764 752 $arrProduct['product_name'] = $arrRet['name']; 765 $arrProduct['classcategory_id1'] = $arrRet['classcategory_id1'];766 $arrProduct['classcategory_id2'] = $arrRet['classcategory_id2'];767 753 $arrProduct['classcategory_name1'] = $arrClassCatName[$arrRet['classcategory_id1']]; 768 754 $arrProduct['classcategory_name2'] = $arrClassCatName[$arrRet['classcategory_id2']]; -
branches/version-2_5-dev/data/class/pages/admin/order/LC_Page_Admin_Order_ProductSelect.php
r18820 r18872 1 1 2 <?php 2 3 /* … … 81 82 82 83 $where = "del_flg = 0"; 84 $arrval = array(); 83 85 84 86 /* 入力エラーなし */ … … 112 114 * FIXME パフォーマンスに問題があるため SC_Product::lists() を使用する 113 115 */ 114 // 読み込む列とテーブルの指定 115 $col = "DISTINCT T1.product_id, product_code_min, product_code_max," 116 . " price01_min, price01_max, price02_min, price02_max," 117 . " stock_min, stock_max, stock_unlimited_min," 118 . " stock_unlimited_max, del_flg, status, name, comment1," 119 . " comment2, comment3, main_list_comment, main_image," 120 . " main_list_image, deliv_date_id, sale_limit," 121 . " point_rate, create_date, deliv_fee, " 122 . " T4.product_rank, T4.category_rank"; 123 $from = "vw_products_allclass AS T1" 124 . " JOIN (" 125 . " SELECT max(T3.rank) AS category_rank," 126 . " max(T2.rank) AS product_rank," 127 . " T2.product_id" 128 . " FROM dtb_product_categories T2" 129 . " JOIN dtb_category T3 USING (category_id)" 130 . " GROUP BY product_id) AS T4 USING (product_id)"; 131 $order = "T4.category_rank DESC, T4.product_rank DESC"; 116 $objProduct = new SC_Product(); 117 $productIds = $objProduct->findProductIds($objQuery, $arrval); 132 118 133 119 // 行数の取得 134 if (empty($arrval)) { 135 $arrval = array(); 136 } 137 $linemax = $objQuery->count("dtb_products", $where, $arrval); 138 $this->tpl_linemax = $linemax; // 何件が該当しました。表示用 120 $linemax = count($productIds); 121 $this->tpl_linemax = $linemax; 139 122 140 123 // ページ送りの処理 … … 157 140 158 141 // 検索結果の取得 159 $this->arrProducts = $objQuery->select($col, $from, $where, $arrval); 160 161 // 規格名一覧 162 $arrClassName = $objDb->sfGetIDValueList("dtb_class", "class_id", "name"); 163 164 // 規格分類名一覧 165 $arrClassCatName = $objDb->sfGetIDValueList("dtb_classcategory", "classcategory_id", "name"); 166 167 // 規格セレクトボックス設定 168 for($i = 0; $i < count($this->arrProducts); $i++) { 169 $this->lfMakeSelect($this->arrProducts[$i]['product_id'], $arrClassName, $arrClassCatName); 170 } 142 $this->arrProducts = $objProduct->lists($objQuery, $arrval); 143 $objProduct->setProductsClassByProductIds($productIds); 144 // 規格1クラス名 145 $this->tpl_class_name1 = $objProduct->className1; 146 147 // 規格2クラス名 148 $this->tpl_class_name2 = $objProduct->className2; 149 150 // 規格1 151 $this->arrClassCat1 = $objProduct->classCats1; 152 153 // 規格1が設定されている 154 $this->tpl_classcat_find1 = $objProduct->classCat1_find; 155 // 規格2が設定されている 156 $this->tpl_classcat_find2 = $objProduct->classCat2_find; 157 158 $this->tpl_stock_find = $objProduct->stock_find; 159 $this->tpl_product_class_id = $objProduct->product_class_id; 160 $this->tpl_product_type = $objProduct->product_type; 161 162 // FIXME 規格のプルダウンを要修正 163 $this->tpl_javascript = ""; 171 164 } 172 165
Note: See TracChangeset
for help on using the changeset viewer.