?> </th> </tr> </thead> <tbody> <?php if (!empty($_GET['id'])) { ?> <?php $id = $_GET['id']; $product = Product::model()->findByPk($id); $productPrices = null; if (!empty($product)) { $productPrices = ProductPrice::model()->findAll(array('condition' => 'product_barcode = :product_barcode', 'params' => array('product_barcode' => $product->product_code), 'order' => 'order_field ASC')); $n = 1; } ?> <!-- Update Record --> <?php if (!empty($productPrices)) { ?> <?php foreach ($productPrices as $productPrice) { ?> <tr> <td><?php echo $n++; ?> </td>
public function actionSale() { $this->checkLogin(); $model = new BillSale(); if (!empty($_POST)) { Yii::app()->session['sessionBillSale'] = $_POST; // BILL SALE DETAIL $arrayBillSaleDetail = Yii::app()->session['billSaleDetail']; if (empty($arrayBillSaleDetail)) { $arrayBillSaleDetail = array(); } $size = count($arrayBillSaleDetail); // ADD bill_sale_detail ITEMS $productCode = Util::input($_POST['product_code']); $productQty = Util::input($_POST['product_qty']); $code = ""; $price = 0; $qty_per_pack = 0; $product = Product::model()->findByAttributes(array('product_code' => $productCode)); $sale_condition = Util::input($_POST['sale_condition']); if (empty($product)) { $product = Product::model()->findByAttributes(array('product_pack_barcode' => $productCode)); if (!empty($product)) { $code = $product->product_pack_barcode; $price = $product->product_price_per_pack; $qty_per_pack = $product->product_total_per_pack; } } else { // FIND PRICE OF PRODUCT if ($sale_condition == 'many') { // กรณีขายส่ง $price = $product->product_price_send; // ค้นหาราคา ที่กำหนดไว้ใน product_prices $productPrice = ProductPrice::model()->find(array("condition" => "\n product_barcode = :productCode\n AND (qty <= :productQty AND qty_end >= :productQty)\n ", "params" => array("productCode" => $productCode, "productQty" => $productQty))); if (!empty($productPrice)) { $price = $productPrice->price_send; } } else { // กรณีขายปลีก $price = $product->product_price; // ค้นหาราคา ที่กำหนดไว้ใน product_prices $productPrice = ProductPrice::model()->find(array("condition" => "\n product_barcode = :productCode\n AND (qty <= :productQty AND qty_end >= :productQty)\n ", "params" => array("productCode" => $productCode, "productQty" => $productQty))); if (!empty($productPrice)) { $price = $productPrice->price; } } $code = $product->product_code; $qty_per_pack = 1; } // หาราคา ตามตาราง barcode_prices $barcodePrice = BarcodePrice::model()->findByAttributes(array('barcode' => $productCode)); if (!empty($barcodePrice)) { $price = $barcodePrice->price; $product = $barcodePrice->getProduct(); $qty_per_pack = $barcodePrice->qty_sub_stock; $product->product_name = $product->product_name . ' ( ' . $barcodePrice->name . ' )'; } // FOUND PRODUCT if (!empty($product)) { if (!empty($_POST['hidden_product_codes'])) { // second item $hidden_product_codes = Util::input($_POST['hidden_product_codes']); $hidden_product_name = Util::input($_POST['hidden_product_name']); $hidden_qty_per_pack = Util::input($_POST['hidden_qty_per_pack']); $serials = Util::input($_POST['serials']); $prices = Util::input($_POST['prices']); $qtys = Util::input($_POST['qtys']); $arr = array(); // old item for ($i = 0; $i < count($hidden_product_codes); $i++) { $arr[] = array('product_qty' => $qtys[$i], 'product_code' => $hidden_product_codes[$i], 'product_name' => $hidden_product_name[$i], 'product_price' => $prices[$i], 'product_serial_no' => $serials[$i], 'product_expire_date' => Util::input($_POST['product_expire_date']), 'product_qty_per_pack' => $hidden_qty_per_pack[$i], 'sale_status' => Util::input($_POST['sale_status']), 'sale_condition' => Util::input($_POST['sale_condition']), 'has_bonus' => 'normal', 'bill_sale_created_date' => Util::input($_POST['BillSale']['bill_sale_created_date'])); } // add item $arr[] = array('product_qty' => Util::input($_POST['product_qty']), 'product_code' => Util::input($_POST['product_code']), 'product_name' => $product->product_name, 'product_price' => $price, 'product_serial_no' => Util::input($_POST['product_serial_no']), 'product_expire_date' => Util::input($_POST['product_expire_date']), 'product_qty_per_pack' => $qty_per_pack, 'sale_status' => Util::input($_POST['sale_status']), 'sale_condition' => Util::input($_POST['sale_condition']), 'has_bonus' => 'normal', 'bill_sale_created_date' => Util::input($_POST['BillSale']['bill_sale_created_date'])); } else { // add item $arr[] = array('product_qty' => Util::input($_POST['product_qty']), 'product_code' => Util::input($_POST['product_code']), 'product_name' => $product->product_name, 'product_price' => $price, 'product_serial_no' => Util::input($_POST['product_serial_no']), 'product_expire_date' => Util::input($_POST['product_expire_date']), 'product_qty_per_pack' => $qty_per_pack, 'sale_status' => Util::input($_POST['sale_status']), 'sale_condition' => Util::input($_POST['sale_condition']), 'has_bonus' => 'normal', 'bill_sale_created_date' => Util::input($_POST['BillSale']['bill_sale_created_date'])); } Yii::app()->session['billSaleDetail'] = $arr; Yii::app()->session['billSaleCreatedDate'] = Util::input($_POST['BillSale']['bill_sale_created_date']); $this->redirect(array('Sale')); } } // RENDER $this->render('//Basic/Sale', array('model' => $model)); }
function actionProductPriceSave() { $this->checkLogin(); if (!empty($_POST)) { $product_code = Util::input($_POST['product_code']); $product_prices = str_replace(",", "", Util::input($_POST['product_price'])); $product_price_sends = str_replace(",", "", Util::input($_POST['product_price_send'])); $qtys = Util::input($_POST['qty']); $qty_ends = Util::input($_POST['qty_end']); $i = 0; ProductPrice::model()->deleteAllByAttributes(array("product_barcode" => $product_code)); foreach ($product_prices as $product_price) { $price = $product_price; $price_send = $product_price_sends[$i]; $qty = $qtys[$i]; $qty_end = $qty_ends[$i]; if ($qty > 0 && $price > 0) { $productPrice = new ProductPrice(); $productPrice->product_barcode = $product_code; $productPrice->price = $price; $productPrice->price_send = $price_send; $productPrice->qty = $qty; $productPrice->qty_end = $qty_end; $productPrice->order_field = $i + 1; $productPrice->save(); } $i++; } echo 'success'; } }
public function actionSale() { if (!empty($_POST)) { $product_name; $qty_sub_stock; $old_price; // find product $product = Product::model()->findByAttributes(array('product_code' => Util::input($_POST['product_code']))); // not found find from barcode_price if (empty($product)) { $barcodePrice = BarcodePrice::model()->findByAttributes(array('barcode' => Util::input($_POST['product_code']))); if (!empty($barcodePrice)) { $product = $barcodePrice->getProduct(); $product_name = $product->product_name . " ( {$barcodePrice->name} )"; $qty_sub_stock = $barcodePrice->qty_sub_stock; $old_price = $barcodePrice->price_before; } } else { $product_name = $product->product_name; $qty_sub_stock = $product->product_total_per_pack; } // found product if (!empty($product)) { // find price $price = $product->product_price; $old_price = $product->product_price_buy; // find default price and send price $sale_condition = Util::input($_POST['sale_condition']); if ($sale_condition == 'one') { // ขายปลีก $price = $product->product_price; } else { // ขายส่ง $price = $product->product_price_send; } // find by barcode price $barcodePrice = BarcodePrice::model()->findByAttributes(array('barcode' => Util::input($_POST['product_code']))); if (!empty($barcodePrice)) { $price = $barcodePrice->price; $old_price = $barcodePrice->price_before; $product_name = $product->product_name . " ( {$barcodePrice->name} )"; $qty_sub_stock = $barcodePrice->qty_sub_stock; } // find between price $productPrice = ProductPrice::model()->find(array('condition' => ' product_barcode = :product_barcode AND (qty <= :qty AND :qty <= qty_end) ', 'params' => array('qty' => (int) Util::input($_POST['qty']), 'product_barcode' => Util::input($_POST['product_code'])))); if (!empty($productPrice)) { if ($sale_condition == 'one') { $price = $productPrice->price; } else { $price = $productPrice->price_send; } } // find qty_sub_stock $qty_sub_stock = $product->product_total_per_pack; if (!empty($barcodePrice)) { $qty_sub_stock = $barcodePrice->qty_sub_stock; } // default qty_sub_stock if ($qty_sub_stock == 0) { $qty_sub_stock = 1; } // check condition $configSoftware = ConfigSoftware::model()->find(); $is_sale = false; if ($configSoftware->sale_out_of_stock == 'yes') { $is_sale = true; } else { if ($product->product_quantity > 0) { $is_sale = true; } } if ($is_sale) { // save to temp $saleTemp = new SaleTemp(); $saleTemp->barcode = Util::input($_POST['product_code']); $saleTemp->name = $product_name; $saleTemp->serial = Util::input($_POST['serial']); $saleTemp->price = str_replace(',', '', $price); $saleTemp->qty = str_replace(',', '', $_POST['qty']); $saleTemp->qty_per_pack = $qty_sub_stock; $saleTemp->user_id = Yii::app()->request->cookies['user_id']->value; $saleTemp->branch_id = (int) Util::input($_POST['branch_id']); $saleTemp->pk_temp = rand(1, 99999); $saleTemp->created_at = new CDbExpression('NOW()'); $saleTemp->old_price = $old_price; // save and update stock if ($saleTemp->save()) { Yii::app()->session['branch_id'] = (int) Util::input($_POST['branch_id']); echo 'success'; } } else { echo Yii::t("lang", "product_out_of_stock"); } } } }