61 lines
2.7 KiB
PHP
Executable File
61 lines
2.7 KiB
PHP
Executable File
<?php
|
|
namespace App\Models;
|
|
use CodeIgniter\Model;
|
|
class SalesOrderModel extends Model
|
|
{
|
|
protected $table = 'sales_order';
|
|
protected $primaryKey = 'sales_order_id';
|
|
protected $allowedFields = ['sales_order_id','inv_no','client_name','vehicle_id','order_number','branch_id','status','mode_of_payment','mobile_no','billing_address','billing_city','billing_state','billing_country','billing_postal_code','total','tax','subtotal','discount','terms_condition','isactive'];
|
|
|
|
public function getSalesPdf($sales_order_id){
|
|
return $this->db->table('sales_order')
|
|
->where('sales_order_id', $sales_order_id)
|
|
|
|
->join('branches as B','B.branch_id = sales_order.branch_id','left')
|
|
->join('vehicle as V','V.vehicle_id = sales_order.vehicle_id','left')
|
|
->join('client as C','V.client_id = C.client_id','left')
|
|
->select('sales_order.*')
|
|
->select('B.branch_name ,B.address as company_address,B.city as company_city,B.state as company_state,B.postal_code as company_postal_code,B.contact_1 as company_mobile_no_1,B.contact_2 as company_mobile_no_2,B.gstno as company_gstno')
|
|
->select('C.gstnumber as client_gst')
|
|
|
|
->get()
|
|
->getResult();
|
|
}
|
|
|
|
public function getSalesOrdersWithProducts($logged_user_branch_id)
|
|
{
|
|
// Select required fields from both tables
|
|
$this->select('sales_order.*, COUNT(sales_order_product.sales_order_id) AS product_count,vehicle.reg_no,SUM(sales_order_product.qty) AS product_qty ');
|
|
|
|
// Join the sales_order_product table based on sales_order_id
|
|
$this->join('sales_order_product', 'sales_order_product.sales_order_id = sales_order.sales_order_id');
|
|
$this->join('vehicle', 'vehicle.vehicle_id = sales_order.vehicle_id');
|
|
|
|
// Group by sales_order_id to get count of products per sales order
|
|
$this->groupBy('sales_order.sales_order_id');
|
|
|
|
// Add condition to fetch only active sales orders
|
|
$this ->where('sales_order.branch_id',$logged_user_branch_id);
|
|
$this->orderBy('sales_order.sales_order_id','desc');
|
|
// Get the results
|
|
return $this->findAll();
|
|
}
|
|
public function getSalesOrderProductsForPdf($sales_order_id)
|
|
{
|
|
// Select required fields from the sales_order_product table
|
|
$result = $this->db->table('sales_order_product')
|
|
->where('sales_order_product.sales_order_id', $sales_order_id)
|
|
->join('products', 'products.product_id = sales_order_product.product_id')
|
|
->select('sales_order_product.*, products.product_name, products.per, products.ml,products.hsn_sac')
|
|
->get()
|
|
->getResult();
|
|
|
|
// echo "<pre>";
|
|
// print_r($result);die;
|
|
|
|
return $result;
|
|
}
|
|
|
|
|
|
}
|
|
?>
|