Esempio n. 1
0
 public function getSumReport($data, $row)
 {
     $criteria = new CDbCriteria();
     $criteria->select = 'SUM(bill_sale_detail_price * bill_sale_detail_qty) AS SUM_ALL';
     $criteria->join = 'INNER JOIN tb_bill_sale_detail AS c ON c.bill_id = t.bill_sale_id';
     $criteria->condition = 'bill_sale_pay_date IS NULL';
     $criteria->condition = 'bill_sale_drop_bill_date IS NULL';
     $criteria->compare("t.member_id", $data->member_id);
     $criteria->group = 't.member_id';
     $result = BillSale::model()->find($criteria);
     return number_format($result->SUM_ALL, 2);
 }
Esempio n. 2
0
    $product_qty = number_format($product_qty);
    $vat = number_format($bill_sale_detail_price_vat, 2);
    $product = Product::model()->findByAttributes(array('product_code' => $product_code));
    $weight = $product->weight;
    $sum_weight += $weight;
    if (empty($weight)) {
        $weight = 0;
    }
    $content .= "\r\n        <tr>\r\n            <td class='cell' style='text-align: center'>{$i}</td>\r\n            <td class='cell' width='180px'>{$product_code}</td>\r\n            <td class='cell'>{$product_name}</td>\r\n            <td class='cell' style='text-align: right'>{$weight}</td>\r\n            <td class='cell' style='text-align: right'>{$product_price}</td>\r\n            <td class='cell' style='text-align: right'>{$product_qty}</td>\r\n            <td class='cell' style='text-align: right'>{$price_per_row}</td>\r\n        </tr>";
    $i++;
}
// table footer
$sum_qty = number_format($sum_qty);
$sum_price = number_format($sum);
$content .= "\r\n        </tbody>\r\n        <tfoot>\r\n            <tr>\r\n                <td class='text bold'>รวม</td>\r\n                <td></td>\r\n                <td></td>\r\n                <td></td>\r\n                <td></td>\r\n                <td class='cell cell-footer'>{$sum_qty}</td>\r\n                <td class='cell cell-footer'>{$sum_price}</td>\r\n            </tr>\r\n        </tfoot>\r\n    </table>\r\n    <br />";
$billSale = BillSale::model()->findByPk($billSaleId);
$billConfig = BillConfig::model()->find();
$vat_type = $billSale->vat_type;
$out_vat = $billSale->out_vat * 1;
$total_price = $sum;
if ($vat_type == 'out') {
    $total_price = $sum + $out_vat;
}
$money = number_format($out_vat, 2);
$money_add = number_format($total_price, 2);
$bonus_price = number_format($billSale->bonus_price, 2);
$total_pay = number_format($total_price - $billSale->bonus_price, 2);
$money_add_total = $total_price - $out_vat;
$money_add_total = number_format($money_add_total, 2);
$content .= "<table width='300px'>";
if ($billSale->bill_sale_vat == 'vat') {
Esempio n. 3
0
 function actionDialogBillAddVat($bill_sale_id)
 {
     $org = Organization::model()->find();
     $billSale = BillSale::model()->findByAttributes(array('bill_sale_id' => (int) $bill_sale_id));
     $this->render('//Dialog/DialogBillAddVat', array('org' => $org, 'billSale' => $billSale));
 }
Esempio n. 4
0
echo $priceTotal;
?>
"
                                           style="text-align: right; width: 150px" />
                                </div>

                                <!-- end form -->
                            </form>
                        </div>
                    </div>
                </div>

                <!-- รายการขายล่าสุด -->
                <?php 
$user_id = Yii::app()->request->cookies['user_id']->value;
$lastBillSale = BillSale::model()->find(array('limit' => 1, 'order' => 'bill_sale_id DESC', 'condition' => 'user_id = :user_id', 'params' => array('user_id' => $user_id)));
if (!empty($lastBillSale)) {
    $lastBillSaleDetails = BillSaleDetail::model()->findAllByAttributes(array('bill_id' => $lastBillSale->bill_sale_id));
}
?>
                <?php 
if (!empty($lastBillSale)) {
    ?>
                    <div class="panel panel-primary" style="margin-top: 15px">
                        <div class="panel-heading">
                            <div class="pull-left">
                                <i class="glyphicon glyphicon-ok"></i>
                                <?php 
    echo Yii::t('lang', 'recent_sales');
    ?>
                            </div>
Esempio n. 5
0
 public function actionEndSaleMobile()
 {
     $user_id = (int) Yii::app()->request->cookies['user_id']->value;
     $user = User::model()->findByPk($user_id);
     $saleTemps = SaleTemp::model()->findAllByAttributes(array('user_id' => $user_id, 'sale_type' => 'mobile'));
     // find total money
     $total_money = 0;
     foreach ($saleTemps as $saleTemp) {
         $total_money += $saleTemp->price;
     }
     // bill sale
     $billSale = new BillSale();
     $billSale->bill_sale_created_date = new CDbExpression('NOW()');
     $billSale->bill_sale_status = 'pay';
     $billSale->member_id = 0;
     $billSale->bill_sale_vat = 'no';
     $billSale->user_id = $user_id;
     $billSale->branch_id = $user->branch_id;
     $billSale->bill_sale_pay_date = new CDbExpression('NOW()');
     $billSale->vat_type = 'in';
     $billSale->bonus_price = 0;
     $billSale->out_vat = 0;
     $billSale->input_money = 0;
     $billSale->return_money = 0;
     $billSale->total_money = $total_money;
     $billSale->sale_type = 'mobile';
     if ($billSale->save()) {
         // bill sale detail
         foreach ($saleTemps as $saleTemp) {
             $info = Product::getInfoByBarcode($saleTemp->barcode);
             $billSaleDetail = new BillSaleDetail();
             $billSaleDetail->bill_id = $billSale->bill_sale_id;
             $billSaleDetail->bill_sale_detail_barcode = $saleTemp->barcode;
             $billSaleDetail->bill_sale_detail_price = $saleTemp->price;
             $billSaleDetail->bill_sale_detail_price_vat = 0;
             $billSaleDetail->bill_sale_detail_qty = 1;
             $billSaleDetail->bill_sale_detail_has_bonus = 'no';
             $billSaleDetail->bill_sale_detail_type = 'one';
             $billSaleDetail->old_price = $info['old_price'];
             $billSaleDetail->save();
         }
         // clear sale temp
         SaleTemp::model()->deleteAllByAttributes(array('user_id' => $user_id, 'sale_type' => 'mobile'));
         // success
         echo 'success';
     }
 }
Esempio n. 6
0
 public function actionSendFromQuotationBillToBillSale()
 {
     $this->checkLogin();
     $quotation_id = (int) $_POST['quotation_id'];
     $vat_price = $_POST['vat_price'];
     $quotation = Quotation::model()->findByPk((int) $quotation_id);
     if (!empty($quotation)) {
         $billSale = BillSale::model()->findByAttributes(array('quotation_id' => $quotation_id));
         if (empty($billSale)) {
             $user_id = Yii::app()->request->cookies['user_id']->value;
             $user = User::model()->findByPk($user_id);
             //
             // create bill_sale
             //
             $billSale = new BillSale();
             $billSale->quotation_id = $quotation_id;
             $billSale->sale_type = 'sale';
             $billSale->bill_sale_pay_date = new CDbExpression('NOW()');
             $billSale->branch_id = $user->branch_id;
             $billSale->user_id = $user_id;
             $billSale->member_id = 0;
             $billSale->bill_sale_status = 'pay';
             $billSale->bill_sale_created_date = new CDbExpression('NOW()');
             if ($quotation->vat > 0) {
                 $vat_price = str_replace(',', '', $vat_price);
                 $billSale->vat_type = 'out';
                 $billSale->out_vat = $vat_price;
                 $billSale->bill_sale_vat = 'vat';
                 $billSale->vat_percen = $quotation->vat;
             }
             if ($billSale->save()) {
                 //
                 // read from quotation and transfer to tb_bill_sale_detail
                 //
                 $quotationDetails = QuotationDetail::model()->findAllByAttributes(array('quotation_id' => $quotation_id));
                 foreach ($quotationDetails as $quotationDetail) {
                     $billSaleDetail = new BillSaleDetail();
                     $billSaleDetail->bill_id = $billSale->bill_sale_id;
                     $billSaleDetail->bill_sale_detail_barcode = $quotationDetail->barcode;
                     $billSaleDetail->bill_sale_detail_price = $quotationDetail->old_price;
                     $billSaleDetail->bill_sale_detail_qty = $quotationDetail->qty;
                     $billSaleDetail->sub = $quotationDetail->sub;
                     $billSaleDetail->quotation_detail_id = $quotationDetail->id;
                     $billSaleDetail->save();
                 }
                 echo $billSale->bill_sale_id;
             }
         } else {
             echo $billSale->bill_sale_id;
         }
     }
 }
Esempio n. 7
0
$configSoftware = ConfigSoftware::model()->find();
$bill_drop_title = $configSoftware->bill_drop_title;
// header
$header = "\n    <div class='header-text bold'>{$bill_drop_title}</div>\n    <div class='header-text'>{$td_logo} {$org->org_name} {$org->org_name_eng}</div>\n    <div class='header-text'>เลขประจำตัวผู้เสียภาษี: {$org->org_tax_code} เบอร์โทร; {$org->org_tel}</div>\n    <div class='header-text'>{$org->org_address_1} {$org->org_address_2}</div>\n    <div class='header-text'>{$org->org_address_3} {$org->org_address_4}</div>\n    <div class='header-text'>วันที่: {$date_time}</div>\n    <br />\n    ";
// to member
$header .= "\n    <div class='row'>\n        <span>ลูกค้า: {$member->member_name}</span>\n        <span>&nbsp;&nbsp;&nbsp;</span>\n        <span>เบอร์โทร: {$member->member_tel}</span>\n    </div>\n    <div class='row'>ที่อยู่: {$member->member_address}</div>\n    <br />";
// content
$content = "\n    <table width='100%' cellspacing='0' cellpadding='0'>\n        <thead>\n            <tr>\n                <td class='cell-header' style='text-align: center'>ลำดับ</td>\n                <td class='cell-header' style='text-align: center'>วันที่ออกใบส่งสินค้า</td>\n                <td class='cell-header' style='text-align: right'>เลขที่บิล</td>\n                <td class='cell-header' style='text-align: right'>จำนวนเงิน</td>\n            </tr>\n        </thead>\n        <tbody>";
$sum = 0;
$i = 1;
// table body
$bill_sale_ids = Yii::app()->session['bill_sale_ids'];
$criteria = new CDbCriteria();
$criteria->order = 'bill_sale_id DESC';
$criteria->addInCondition('bill_sale_id', $bill_sale_ids);
$billSales = BillSale::model()->findAll($criteria);
foreach ($billSales as $r) {
    $bill_sale_id = $r->bill_sale_id;
    $product_price = $r->getSum(false);
    $sum += $product_price;
    $label_price = number_format($product_price);
    $content .= "\n        <tr>\n            <td class='cell' style='text-align: center' width='30px'>{$i}</td>\n            <td class='cell' style='text-aligh: center'>{$r->bill_sale_created_date}</td>\n            <td class='cell' style='text-align: right' width='100px'>{$bill_sale_id}</td>\n            <td class='cell' style='text-align: right' width='100px'>{$label_price}</td>\n        </tr>";
    $i++;
}
// table footer
$sum = number_format($sum);
$content .= "\n        </tbody>\n        <tfoot>\n            <tr>\n                <td class='text bold'>รวม</td>\n                <td></td>\n                <td></td>\n                <td class='cell-footer'>{$sum}</td>\n            </tr>\n        </tfoot>\n    </table>\n    <br />";
// footer
$footer = "\n    <table width='100%'>\n        <tr>\n            <td class='text' style='text-align: center; font-weight: bold'>พนักงานขาย</td>\n            <td class='text' style='text-align: center; font-weight: bold'>ผู้รับสินค้า</td>\n        </tr>\n        <tr>\n            <td align='center'>\n                <span class='blank-row'>\n                    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\n                    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\n                    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\n                </span>\n            </td>\n            <td align='center'>\n                <span class='blank-row'>\n                    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\n                    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\n                    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\n                </span>\n            </td>\n        </tr>\n    </table>\n    <br />";
$html = $header . $content . $footer;
if (!empty($configSoftware->bill_drop_footer)) {
 function actionDialogBillAddVat()
 {
     $org = Organization::model()->find();
     $criteria = new CDbCriteria();
     $criteria->order = 'bill_sale_id DESC';
     $criteria->limit = 1;
     $criteria->compare('bill_sale_status', 'pay');
     $billSale = BillSale::model()->find($criteria);
     $this->render('//Dialog/DialogBillAddVat', array('org' => $org, 'billSale' => $billSale));
 }
Esempio n. 9
0
        if (data != null) {
          sale_can_edit_price = data.sale_can_edit_price;
          sale_can_add_sub_price = data.sale_can_add_sub_price;
          sale_out_of_stock = data.sale_out_of_stock;

          if (data.sale_can_edit_price == 'no') {
            $('.price').attr('readonly', 'readonly');
          }
        }
      }
    });
  }
</script>

<?php 
$sumTotalPrice = BillSale::sumTotalPrice();
$branchList = Branch::getOptions();
?>

<?php 
if (count($branchList) == 0) {
    ?>
  <script>
    $(function() {
      alert('เนื่องจากคุณยังไม่ได้ป้อนสาขา โปรดระบุสาขาก่อน');
      window.location = 'index.php?r=Config/BranchIndex';
    });
  </script>
<?php 
}
?>
 public function actionClearBillSale()
 {
     $this->checkLogin();
     BillSale::model()->deleteAll();
     BillSaleDetail::model()->deleteAll();
     $this->redirect(array("Basic/ManageBill"));
 }
Esempio n. 11
0
 public function actionArPay($bill_sale_id)
 {
     $billSale = BillSale::model()->findByPk((int) $bill_sale_id);
     $billSale->bill_sale_pay_date = new CDbExpression('NOW()');
     $billSale->bill_sale_status = 'pay';
     $billSale->save();
     echo 'success';
 }