riainvoice/application/modules/invoices_1/models/Mdl_invoices.php
2023-05-27 19:26:12 +05:30

974 lines
29 KiB
PHP

<?php
if (!defined('BASEPATH')) exit('No direct script access allowed');
/*
* InvoicePlane
*
* @author InvoicePlane Developers & Contributors
* @copyright Copyright (c) 2012 - 2017 InvoicePlane.com
* @license https://invoiceplane.com/license.txt
* @link https://invoiceplane.com
*/
/**
* Class Mdl_Invoices
*/
class Mdl_Invoices extends Response_Model
{
public $table = 'ip_invoices';
public $primary_key = 'ip_invoices.invoice_id';
public $date_modified_field = 'invoice_date_modified';
/**
* @return array
*/
public function statuses()
{
return array(
'1' => array(
'label' => trans('draft'),
'class' => 'draft',
'href' => 'invoices/status/draft'
),
'2' => array(
'label' => trans('sent'),
'class' => 'sent',
'href' => 'invoices/status/sent'
),
'3' => array(
'label' => trans('viewed'),
'class' => 'viewed',
'href' => 'invoices/status/viewed'
),
'4' => array(
'label' => trans('paid'),
'class' => 'paid',
'href' => 'invoices/status/paid'
),
// '5' => array(
// 'label' => trans('Credit Note Created'),
// 'class' => 'credit',
// 'href' => 'invoices/status/credit'
// )
);
}
public function GetPaymentDays($InvID,$ClientID,$client_custom_fieldid)
{
$this->db->select('inv.client_id,client_custom_fieldid,client_custom_fieldvalue,invoice_id');
$this->db->from('ip_client_custom clients');
$this->db->join('ip_invoices inv', 'clients.client_id=inv.client_id');
$this->db->where('inv.invoice_id',$InvID);
$this->db->where('client_custom_fieldid',$client_custom_fieldid);
$this->db->where('inv.client_id',$ClientID);
$query = $this->db->get();
return $query->result();
}
public function GetSecondaryAddress($ClientID)
{
$subQuery = "select group_concat(client_custom_fieldvalue separator '<br>') as Secondary from ip_client_custom where
client_id =? and client_custom_fieldid in (12,45,46,47,48,50,49)";
$query = $this->db->query($subQuery,array($ClientID));
return $query->result();
}
public function GetClient_Details()
{
$subQuery = "select * from ip_clients";
$query = $this->db->query($subQuery,array());
return $query->result();
}
// public function GetQuoteamount($quoteid)
// {
// $subQuery = "select item_sgst_percentage,item_cgst_percentage,item_igst_percentage from ip_quote_item_amounts where invoice_id=?";
// $query = $this->db->query($subQuery,array($invoice_id));
// return $query->result();
// }
public function get_status($invoice_id)
{
$subQuery = "select invoice_status_id from ip_invoices where invoice_id=?";
$query = $this->db->query($subQuery,array($invoice_id));
return $query->result();
}
public function Get_invoiceitems($invoice_id)
{
$subQuery = "select item_quantity from ip_invoice_items where invoice_id=?";
$query = $this->db->query($subQuery,array($invoice_id));
return $query->result();
}
public function GetState($ClientID)
{
//echo $ClientID;
$subQuery = "select client_id,client_name,client_state from ip_clients where client_id =?";
$query = $this->db->query($subQuery,array($ClientID));
return $query->result();
}
// public function GetStateCode($ClientID,$CustomId)
// {
// //echo $ClientID;
// $subQuery = "select client_id,client_custom_fieldid,client_custom_fieldvalue from ip_client_custom where client_id =? and client_custom_fieldid=?";
// $query = $this->db->query($subQuery,array($ClientID,$CustomId));
// return $query->result();
// }
public function GetPrimaryStateCode($ClientID,$CustomId)
{
//echo $ClientID;
$subQuery = "select client_custom_fieldvalue from ip_client_custom where client_id =? and client_custom_fieldid=?";
$query = $this->db->query($subQuery,array($ClientID,$CustomId));
return $query->result();
}
public function GetSecondaryStateCode($ClientID,$CustomId)
{
//echo $ClientID;
$subQuery = "select client_custom_fieldvalue from ip_client_custom where client_id =? and client_custom_fieldid=?";
$query = $this->db->query($subQuery,array($ClientID,$CustomId));
return $query->result();
}
public function getinvbalqty($quoteid)
{
$subQuery = "select item_balancequantity,item_quantity,item_suppliedquantity from ip_quote_items where quote_id =?";
$query = $this->db->query($subQuery,array($quoteid));
return $query->result();
}
public function getSecondayAddressSelected($InvID,$client_custom_fieldid)
{
$subQuery = "select invoice_custom_fieldvalue as secondary from ip_invoice_custom where invoice_id=? and
invoice_custom_fieldid=?";
$query = $this->db->query($subQuery,array($InvID,$client_custom_fieldid));
//print_r( $this->db->last_query());
return $query->result();
}
public function default_select()
{
$this->db->select("
SQL_CALC_FOUND_ROWS
ip_quotes.*,
ip_users.user_name,
ip_users.user_company,
ip_users.user_address_1,
ip_users.user_address_2,
ip_users.user_city,
ip_users.user_state,
ip_users.user_zip,
ip_users.user_country,
ip_users.user_phone,
ip_users.user_fax,
ip_users.user_mobile,
ip_users.user_email,
ip_users.user_web,
ip_users.user_vat_id,
ip_users.user_tax_code,
ip_users.user_subscribernumber,
ip_users.user_iban,
ip_users.user_gln,
ip_users.user_rcc,
ip_clients.*,
ip_invoice_sumex.*,
ip_invoice_amounts.invoice_id,
ip_quotetoinvoice.quote_id as Qid,
ip_invoice_amounts.invoice_amount_id,
IFnull(ip_invoice_amounts.invoice_item_subtotal, '0.00') AS invoice_item_subtotal,
IFnull(ip_invoice_amounts.invoice_item_tax_total, '0.00') AS invoice_item_tax_total,
IFnull(ip_invoice_amounts.invoice_tax_total, '0.00') AS invoice_tax_total,
IFnull(ip_invoice_amounts.invoice_total, '0.00') AS invoice_total,
IFnull(ip_invoice_amounts.invoice_paid, '0.00') AS invoice_paid,
IFnull(ip_invoice_amounts.invoice_balance, '0.00') AS invoice_balance,
ip_invoice_amounts.invoice_sign AS invoice_sign,
(CASE WHEN ip_invoices.invoice_status_id NOT IN (1,4) AND DATEDIFF(NOW(), invoice_date_due) > 0 THEN 1 ELSE 0 END) is_overdue,
DATEDIFF(NOW(), invoice_date_due) AS days_overdue,
(CASE (SELECT COUNT(*) FROM ip_invoices_recurring WHERE ip_invoices_recurring.invoice_id = ip_invoices.invoice_id and ip_invoices_recurring.recur_next_date <> '0000-00-00') WHEN 0 THEN 0 ELSE 1 END) AS invoice_is_recurring,
ip_invoices.*", false);
}
public function default_order_by()
{
$this->db->order_by('ip_invoices.invoice_number DESC');
$this->db->group_by('ip_invoices.invoice_number');
}
public function default_join()
{
$this->db->join('ip_clients', 'ip_clients.client_id = ip_invoices.client_id');
$this->db->join('ip_users', 'ip_users.user_id = ip_invoices.user_id');
$this->db->join('ip_invoice_amounts', 'ip_invoice_amounts.invoice_id = ip_invoices.invoice_id', 'left');
$this->db->join('ip_invoice_sumex', 'sumex_invoice = ip_invoices.invoice_id', 'left');
$this->db->join('ip_quotes', 'ip_quotes.invoice_id = ip_invoices.invoice_id', 'left');
$this->db->join('ip_payments', 'ip_payments.invoice_id = ip_invoices.invoice_id', 'left');
$this->db->join('ip_quotetoinvoice', 'ip_invoices.invoice_id = ip_quotetoinvoice.invoice_id', 'left');
// print_r( $this->db->last_query());
}
/**
* @return array
*/
public function validation_rules()
{
return array(
'client_id' => array(
'field' => 'client_id',
'label' => trans('client'),
'rules' => 'required'
),
'invoice_date_created' => array(
'field' => 'invoice_date_created',
'label' => trans('invoice_date'),
'rules' => 'required'
),
'invoice_time_created' => array(
'rules' => 'required'
),
'invoice_group_id' => array(
'field' => 'invoice_group_id',
'label' => trans('invoice_group'),
'rules' => 'required'
),
'invoice_password' => array(
'field' => 'invoice_password',
'label' => trans('invoice_password')
),
'user_id' => array(
'field' => 'user_id',
'label' => trans('user'),
'rule' => 'required'
),
);
}
/**
* @return array
*/
public function validation_rules_save_invoice()
{
return array(
'invoice_number' => array(
'field' => 'invoice_number',
'label' => trans('invoice') . ' #',
'rules' => 'is_unique[ip_invoices.invoice_number' . (($this->id) ? '.invoice_id.' . $this->id : '') . ']'
),
'invoice_date_created' => array(
'field' => 'invoice_date_created',
'label' => trans('date'),
'rules' => 'required'
),
'invoice_date_due' => array(
'field' => 'invoice_date_due',
'label' => trans('due_date'),
'rules' => 'required'
),
'invoice_time_created' => array(
'rules' => 'required'
),
'invoice_password' => array(
'field' => 'invoice_password',
'label' => trans('invoice_password')
)
);
}
/**
* @param null $db_array
* @param bool $include_invoice_tax_rates
* @return int|null
*/
public function create($db_array = null, $include_invoice_tax_rates = true)
{
$invoice_id = parent::save(null, $db_array);
$inv = $this->where('ip_invoices.invoice_id', $invoice_id)->get()->row();
$invoice_group = $inv->invoice_group_id;
// Create an invoice amount record
$db_array = array(
'invoice_id' => $invoice_id
);
$this->db->insert('ip_invoice_amounts', $db_array);
if ($include_invoice_tax_rates) {
// Create the default invoice tax record if applicable
if (get_setting('default_invoice_tax_rate')) {
$db_array = array(
'invoice_id' => $invoice_id,
'tax_rate_id' => get_setting('default_invoice_tax_rate'),
'include_item_tax' => get_setting('default_include_item_tax', 0),
'invoice_tax_rate_amount' => 0
);
$this->db->insert('ip_invoice_tax_rates', $db_array);
}
}
$invgroup = $this->mdl_invoice_groups->where('invoice_group_id', $invoice_group)->get()->row();
if (preg_match("/sumex/i", $invgroup->invoice_group_name)) {
// If the Invoice Group includes "Sumex", make the invoice a Sumex one
$db_array = array(
'sumex_invoice' => $invoice_id
);
$this->db->insert('ip_invoice_sumex', $db_array);
}
return $invoice_id;
}
/**
* Copies invoice items, tax rates, etc from source to target
* @param int $source_id
* @param int $target_id
*/
public function copy_invoice($source_id, $target_id)
{
$this->load->model('invoices/mdl_items');
$invoice_items = $this->mdl_items->where('invoice_id', $source_id)->get()->result();
foreach ($invoice_items as $invoice_item) {
$db_array = array(
'invoice_id' => $target_id,
'item_tax_rate_id' => $invoice_item->item_tax_rate_id,
'item_name' => $invoice_item->item_name,
'item_description' => $invoice_item->item_description,
'item_quantity' => $invoice_item->item_quantity,
'item_price' => $invoice_item->item_price,
'item_order' => $invoice_item->item_order
);
$this->mdl_items->save(null, $db_array);
}
$invoice_tax_rates = $this->mdl_invoice_tax_rates->where('invoice_id', $source_id)->get()->result();
foreach ($invoice_tax_rates as $invoice_tax_rate) {
$db_array = array(
'invoice_id' => $target_id,
'tax_rate_id' => $invoice_tax_rate->tax_rate_id,
'include_item_tax' => $invoice_tax_rate->include_item_tax,
'invoice_tax_rate_amount' => $invoice_tax_rate->invoice_tax_rate_amount
);
$this->mdl_invoice_tax_rates->save(null, $db_array);
}
// Copy the custom fields
$this->load->model('custom_fields/mdl_invoice_custom');
$db_array = $this->mdl_invoice_custom->where('invoice_id', $source_id)->get()->row_array();
if (count($db_array) > 2) {
unset($db_array['invoice_custom_id']);
$db_array['invoice_id'] = $target_id;
$this->mdl_invoice_custom->save_custom($target_id, $db_array);
}
}
/**
* Copies invoice items, tax rates, etc from source to target
* @param int $source_id
* @param int $target_id
*/
public function copy_credit_invoice($source_id, $target_id)
{
$this->load->model('invoices/mdl_items');
// echo "target/cre".$target_id;
// echo "source/inv".$source_id;
// die();
$invoice_items = $this->mdl_items->where('invoice_id', $source_id)->get()->result();
// $custom_items = $this->mdl_items->get_invoice_custom_values($source_id);
//print_r($invoice_items);
//die();
foreach ($invoice_items as $invoice_item) {
$db_array = array(
'invoice_id' => $target_id,
//'item_tax_rate_id' => $invoice_item->item_tax_rate_id,
'Sgst_item_tax_rate_id'=>$invoice_item->Sgst_item_tax_rate_id,
'Cgst_item_tax_rate_id'=>$invoice_item->Cgst_item_tax_rate_id,
'Igst_item_tax_rate_id'=>$invoice_item->Igst_item_tax_rate_id,
'item_name' => $invoice_item->item_name,
'item_product_unit' =>$invoice_item->item_product_unit,
'item_product_unit_id'=> $invoice_item->item_product_unit_id,
'item_product_id'=>$invoice_item->item_product_id,
'item_description' => $invoice_item->item_description,
'item_quantity' => -$invoice_item->item_quantity,
'item_price' => $invoice_item->item_price,
'item_order' => $invoice_item->item_order
);
$this->mdl_items->save(null, $db_array);
}
$invoice_tax_rates = $this->mdl_invoice_tax_rates->where('invoice_id', $source_id)->get()->result();
foreach ($invoice_tax_rates as $invoice_tax_rate) {
$db_array = array(
'invoice_id' => $target_id,
'tax_rate_id' => $invoice_tax_rate->tax_rate_id,
'include_item_tax' => $invoice_tax_rate->include_item_tax,
'invoice_tax_rate_amount' => -$invoice_tax_rate->invoice_tax_rate_amount
);
$this->mdl_invoice_tax_rates->save(null, $db_array);
}
/// Copy the custom fields
$this->load->model('custom_fields/mdl_invoice_custom');
$db_array = $this->mdl_invoice_custom->where('ip_invoice_custom.invoice_id', $source_id)->get()->row_array();
$custom_item = $this->get_invoice_custom_values($source_id);
//echo "vdc";
foreach($custom_item as $cus)
{
//$invoice_id = $target_id;
$customarray= array(
'invoice_id'=>$target_id,
'invoice_custom_fieldid'=>$cus->invoice_custom_fieldid,
'invoice_custom_fieldvalue'=>$cus->invoice_custom_fieldvalue
);
$this->save_credit_custom($customarray);
}
$updatearray = array('invoice_status_id'=>'4');
$inv_status= $this->saveinvoicestatus($source_id,$updatearray);
//print_r($db_array);
//die();
// if (count($db_array) > 2) {
// unset($db_array['invoice_custom_id']);
// $db_array['invoice_id'] = $target_id;
// $this->mdl_invoice_custom->save_custom($target_id, $db_array);
// }
}
/**
* @return array
*/
public function db_array()
{
$db_array = parent::db_array();
// print_r($db_array);
// $receivedstatus='ST066';
$credit_status='0';
// Get the client id for the submitted invoice
$this->load->model('clients/mdl_clients');
// Check if is SUMEX
$this->load->model('invoice_groups/mdl_invoice_groups');
$db_array['invoice_date_created'] = date_to_mysql($db_array['invoice_date_created']);
$db_array['invoice_date_due'] = $this->get_date_due($db_array['invoice_date_created']);
$db_array['invoice_terms'] = get_setting('default_invoice_terms');
//$db_array['receivedstatus'] = $receivedstatus;
// $db_array['credit_status'] = $credit_status;
if (!isset($db_array['invoice_status_id'])) {
$db_array['invoice_status_id'] = 1;
}
$generate_invoice_number = get_setting('generate_invoice_number_for_draft');
if ($db_array['invoice_status_id'] === 1 && $generate_invoice_number == 1) {
$db_array['invoice_number'] = $this->get_invoice_number($db_array['invoice_group_id']);
} elseif ($db_array['invoice_status_id'] != 1) {
$db_array['invoice_number'] = $this->get_invoice_number($db_array['invoice_group_id']);
} else {
$db_array['invoice_number'] = '';
}
// Set default values
$db_array['payment_method'] = (empty($db_array['payment_method']) ? 0 : $db_array['payment_method']);
// Generate the unique url key
$db_array['invoice_url_key'] = $this->get_url_key();
return $db_array;
}
/**
* @param string $invoice_date_created
* @return string
*/
public function get_date_due($invoice_date_created)
{
$invoice_date_due = new DateTime($invoice_date_created);
$invoice_date_due->add(new DateInterval('P' . get_setting('invoices_due_after') . 'D'));
return $invoice_date_due->format('Y-m-d');
}
/**
* @param $invoice_group_id
* @return mixed
*/
public function get_invoice_number($invoice_group_id)
{
$this->load->model('invoice_groups/mdl_invoice_groups');
return $this->mdl_invoice_groups->generate_invoice_number($invoice_group_id);
}
/**
* @return string
*/
public function get_url_key()
{
$this->load->helper('string');
return random_string('alnum', 15);
}
/**
* @param $invoice_id
* @return mixed
*/
public function get_invoice_group_id($invoice_id)
{
$invoice = $this->get_by_id($invoice_id);
return $invoice->invoice_group_id;
}
/**
* @param int $parent_invoice_id
* @return mixed
*/
public function get_parent_invoice_number($parent_invoice_id)
{
$parent_invoice = $this->get_by_id($parent_invoice_id);
return $parent_invoice->invoice_number;
}
/**
* @return mixed
*/
public function get_custom_values($id)
{
$this->load->module('custom_fields/Mdl_invoice_custom');
return $this->invoice_custom->get_by_invid($id);
}
/**
* @param int $invoice_id
*/
public function delete($invoice_id)
{
parent::delete($invoice_id);
$this->load->helper('orphan');
delete_orphans();
}
// Used from the guest module, excludes draft and paid
public function is_open()
{
$this->filter_where_in('invoice_status_id', array(2, 3));
return $this;
}
// Used to check if the invoice is Sumex
public function is_sumex()
{
$this->where('sumex_id is NOT NULL', null, FALSE);
return $this;
}
public function guest_visible()
{
$this->filter_where_in('invoice_status_id', array(2, 3, 4));
return $this;
}
public function is_draft()
{
$this->filter_where('invoice_status_id', 1);
return $this;
}
public function is_sent()
{
$this->filter_where('invoice_status_id', 2);
return $this;
}
public function is_viewed()
{
$this->filter_where('invoice_status_id', 3);
return $this;
}
public function is_paid()
{
$this->filter_where('invoice_status_id', 4);
return $this;
}
public function is_overdue()
{
$this->filter_having('is_overdue', 1);
return $this;
}
public function by_client($client_id)
{
$this->filter_where('ip_invoices.client_id', $client_id);
return $this;
}
/**
* @param $invoice_id
*/
public function mark_viewed($invoice_id)
{
$invoice = $this->get_by_id($invoice_id);
if (!empty($invoice)) {
if ($invoice->invoice_status_id == 2) {
$this->db->where('invoice_id', $invoice_id);
$this->db->where('invoice_id', $invoice_id);
$this->db->set('invoice_status_id', 3);
$this->db->update('ip_invoices');
}
// Set the invoice to read-only if feature is not disabled and setting is view
if ($this->config->item('disable_read_only') == false && get_setting('read_only_toggle') == 3) {
$this->db->where('invoice_id', $invoice_id);
$this->db->set('is_read_only', 1);
$this->db->update('ip_invoices');
}
}
}
/**
* @param $invoice_id
*/
public function mark_sent($invoice_id)
{
$invoice = $this->mdl_invoices->get_by_id($invoice_id);
if (!empty($invoice)) {
if ($invoice->invoice_status_id == 1) {
// Generate new invoice number if applicable
if (get_setting('generate_invoice_number_for_draft') == 0) {
$invoice_number = $this->mdl_invoices->get_invoice_number($invoice->invoice_group_id);
} else {
$invoice_number = $invoice->invoice_number;
}
// Set new date and save
$this->db->where('invoice_id', $invoice_id);
$this->db->set('invoice_status_id', 2);
$this->db->set('invoice_number', $invoice_number);
$this->db->update('ip_invoices');
}
// Set the invoice to read-only if feature is not disabled and setting is sent
if ($this->config->item('disable_read_only') == false && get_setting('read_only_toggle') == 2) {
$this->db->where('invoice_id', $invoice_id);
$this->db->set('is_read_only', 1);
$this->db->update('ip_invoices');
}
}
}
function Save_quote_to_invtable($invoicedetails)
{
$this->db->trans_start();
$this->db->insert('ip_quotetoinvoice', $invoicedetails);
$insert_id = $this->db->affected_rows();
$this->db->trans_complete();
return TRUE;
}
public function CheckInvId($invoice_id)
{
$this->db->select('count(invoice_id) as invcount');
$this->db->from('ip_quotetoinvoice');
$this->db->where('invoice_id ',$invoice_id);
$query = $this->db->get();
// print_r( $this->db->last_query());
return $query->result();
}
function GetOrder_qty($quoteid,$item_product_id)
{
$this->db->select('item_quantity as orderedqty,item_suppliedquantity as supqty, item_balancequantity as balqty ');
$this->db->from('ip_quote_items');
$this->db->where('quote_id',$quoteid);
$this->db->where('item_product_id',$item_product_id);
$query = $this->db->get();
return $query->result();
}
function check_item($quoteid,$itemproductid)
{
// echo $quoteid;
// die();
$this->db->select('*');
$this->db->from('ip_quote_items');
$this->db->where('quote_id',$quoteid);
$this->db->where('item_product_id',$itemproductid);
$query = $this->db->get();
return $query->result();
}
function Update_Qty($quoteid,$updatearray,$item_product_id)
{
// echo $item_product_id;
// die();
$this->db->where('quote_id', $quoteid);
$this->db->where('item_product_id',$item_product_id);
$this->db->update('ip_quote_items', $updatearray);
//print_r( $this->db->last_query());
//return TRUE;
}
function Check_Qid($quoteid)
{
$this->db->select('quote_id as quotecount,invoice_id');
$this->db->from('ip_quotetoinvoice');
$this->db->where('quote_id ',$quoteid);
$query = $this->db->get();
// print_r( $this->db->last_query());
return $query->result();
}
function GetInvOrdered($invoice_id)
{
$this->db->select('item_quantity,invoice_id');
$this->db->from('ip_invoice_items');
$this->db->where('invoice_id ',$invoice_id);
$query = $this->db->get();
// print_r( $this->db->last_query());
return $query->result();
}
function GetquoteOrdered($quoteid1)
{
$this->db->select('item_quantity,item_balancequantity,item_suppliedquantity');
$this->db->from('ip_quote_items');
$this->db->where('quote_id ',$quoteid1);
$query = $this->db->get();
// print_r( $this->db->last_query());
return $query->result();
}
function get_clientid($invoice_id)
{
$this->db->select('client_id');
$this->db->from('ip_invoices');
$this->db->where('invoice_id ',$invoice_id);
$query = $this->db->get();
// print_r( $this->db->last_query());
return $query->result();
}
// function get_taxcheck($invoice_id)
// {
// $this->db->select('taxcheck');
// $this->db->from('ip_invoice_item_amounts');
// $this->db->join('ip_invoice_items', 'ip_invoice_items.item_id = ip_invoice_item_amounts.item_id');
// $this->db->where('ip_invoice_items.invoice_id ',$invoice_id);
// $query = $this->db->get();
// // print_r( $this->db->last_query());
// return $query->result();
// }
public function get_invoice_custom_values($source_id)
{
//echo $source_id;
$this->db->select('*');
$this->db->from('ip_invoice_custom');
$this->db->where('ip_invoice_custom.invoice_id',$source_id);
$query = $this->db->get();
// print_r($this->db->last_query());
return $query->result();
return $this;
}
public function save_credit_custom($customarray)
{
$this->db->trans_start();
$this->db->insert('ip_invoice_custom', $customarray);
$insert_id = $this->db->affected_rows();
$this->db->trans_complete();
return true;
}
public function saveinvoicestatus($source_id,$updatearray)
{
// echo "ff";
// print_r($updatearray);
$this->db->where('invoice_id', $source_id);
$this->db->update('ip_invoices',$updatearray);
$insert_id = $this->db->affected_rows();
//return $insert_id;
return true;
}
public function getcreditstatus($invoice_id)
{
$this->db->select('credit_status');
$this->db->from('ip_invoices');
$this->db->where('ip_invoices.invoice_id',$invoice_id);
$query = $this->db->get();
return $query->result();
//return $this;
}
public function getinv_parentqty($invoice_id)
{
$this->db->select('creditinvoice_parent_id');
$this->db->from('ip_invoices');
$this->db->where('ip_invoices.invoice_id',$invoice_id);
$query = $this->db->get();
// print_r($this->db->last_query());
// print_r($query->result());
$qty = '';
foreach($query->result() as $re)
{
$qty = $re->creditinvoice_parent_id;
}
//echo "qt".$qty;
if($qty =="")
{
}
else
{
$this->db->select('item_quantity');
$this->db->from('ip_invoice_items');
$this->db->where('invoice_id',$qty);
$qtyquery = $this->db->get();
return $qtyquery->result();
}
}
}