127 lines
5.4 KiB
PHP
127 lines
5.4 KiB
PHP
<?php
|
|
defined('BASEPATH') or exit('No direct script access allowed');
|
|
class Sales extends CI_Controller
|
|
{
|
|
function __construct()
|
|
{
|
|
parent::__construct();
|
|
$this->load->model('MStocks');
|
|
$this->load->model('MSales');
|
|
checkLogin();
|
|
}
|
|
|
|
|
|
|
|
public function _remap($alias = "", $params = array())
|
|
{
|
|
$data['dataValue'] = $this->session;
|
|
$data['pageTitle'] = "Sales";
|
|
switch ($alias) {
|
|
case 'create':
|
|
$data['items'] = $this->MStocks->getSellableItems();
|
|
$data['fiscalStart'] = NepaliDate($this->session->userdata['FiscalYear']->fiscalyear_from);
|
|
$data['fiscalEnd'] = NepaliDate($this->session->userdata['FiscalYear']->fiscalyear_to);
|
|
loadView("inventory/sales/create", $data);
|
|
break;
|
|
case 'store':
|
|
|
|
// print_r(filter_var($_POST['salesDate']));die;
|
|
if (isset($_POST['accounts_id'])) {
|
|
$TableData = array(
|
|
'transaction_type' => "Sales Entry",
|
|
'accounts_id' => filter_var($_POST['accounts_id']),
|
|
'sales_date' => filter_var($_POST['salesDate']),
|
|
'discount' => filter_var($_POST['discountpercentage']),
|
|
'vatToggle' => filter_var($_POST['vatToggleValue']),
|
|
'created_on' => date('Y-m-d H:i:s'),
|
|
'created_by' => 'admin',
|
|
'remarks' => '',
|
|
'status' => 1,
|
|
);
|
|
$this->db->insert('tbl_sales', $TableData);
|
|
$sales_id = $this->db->insert_id();
|
|
$i = 0;
|
|
// print_r($_POST);die;
|
|
|
|
foreach ($_POST['item_id'] as $item) {
|
|
if ($item != 0 || $_POST['qty'][$i] != 0 || $_POST['rate'][$i] != 0 || $_POST['vat'][$i] != 0) :
|
|
$TableData = array(
|
|
'sales_id' => $sales_id,
|
|
'items_id' => $item,
|
|
'qty' => $_POST['qty'][$i],
|
|
'rate' => $_POST['rate'][$i],
|
|
'vat' => $_POST['vat'][$i],
|
|
'created_on' => date('Y-m-d H:i:s'),
|
|
'created_by' => 'admin',
|
|
'status' => 1,
|
|
);
|
|
$i += 1;
|
|
$this->db->insert('tbl_salesdetails', $TableData);
|
|
endif;
|
|
}
|
|
}
|
|
// print_r($TableData);
|
|
// die;
|
|
|
|
// $this->db->where('sales_id', $sales_id);
|
|
$this->MStocks->addSalesToStock($this->db->where('sales_id', $sales_id)->get('tbl_salesdetails')->result());
|
|
redirect("inventory/sales/list");
|
|
break;
|
|
case 'sales_register':
|
|
$data['SalesRecords'] = $this->MSales->getSalesRecords();
|
|
loadView("inventory/sales/register", $data);
|
|
break;
|
|
case 'details':
|
|
$id = $this->uri->segment(4);
|
|
$data['Sales'] = $this->db->where('sales_id', $id)->get("tbl_sales")->row();
|
|
$data['SalesDetails'] = $this->db->where('sales_id', $id)->get('tbl_salesdetails')->result();
|
|
loadView("inventory/sales/view", $data);
|
|
break;
|
|
case 'edit':
|
|
if (isset($_POST['submit'])) {
|
|
$id = $this->uri->segment(4);
|
|
$TableData = array(
|
|
'transaction_type' => filter_var($_POST['transaction_type']),
|
|
'accounts_id' => filter_var($_POST['accounts_id']),
|
|
'sales_date' => filter_var($_POST['sales_date']),
|
|
'discount' => filter_var($_POST['discountpercentage']),
|
|
'created_on' => date('Y-m-d H:i:s'),
|
|
'created_by' => 'admin',
|
|
'remarks' => filter_var($_POST['remarks']),
|
|
'status' => 1,
|
|
);
|
|
$this->db->where('sales_id', $id);
|
|
$this->db->update('tbl_sales', $TableData);
|
|
redirect("inventory/sales/list");
|
|
}
|
|
loadView("inventory/sales/edit", $data);
|
|
break;
|
|
case 'delete':
|
|
$id = $this->uri->segment(4);
|
|
$this->db->where('sales_id', $id);
|
|
$this->db->delete('tbl_sales');
|
|
$this->db->where('sales_id', $id);
|
|
$this->db->delete('tbl_salesdetails');
|
|
redirect("inventory/sales/list");
|
|
break;
|
|
|
|
case 'getunitbyitem':
|
|
$id = $this->uri->segment(4);
|
|
$unit = $this->MStocks->getUnitByItemId($id);
|
|
echo json_encode($unit);
|
|
break;
|
|
|
|
default:
|
|
$data['SalesRecords'] = $this->MSales->getSalesRecords();
|
|
loadView("inventory/sales/list", $data);
|
|
}
|
|
|
|
}
|
|
|
|
|
|
// public function getUnitByItemId($id) {
|
|
// $unitName = $this->MStocks->getUnitByItemId($id);
|
|
// echo json_encode(['unitName' => $unitName]);
|
|
// }
|
|
}
|