Your IP : 216.73.216.91


Current Path : /var/www/html/tax/api/controller/
Upload File :
Current File : /var/www/html/tax/api/controller/bill.php

<?php
require_once('book.php'); 
class bill extends pdocrudhandler{
	private $startUpConfig;
	private $baseUrl;
	public function __construct(){
		$this->_pdo = $this->connect();
		if (session_status() == PHP_SESSION_NONE) {
		    session_start();
		}
	}

	public function createBill($data){
		$response = [];
		$companyId = (isset($_SESSION['companyid'])) ? $_SESSION['companyid'] : $data['ob_company_id'];
		$userId = (isset($_SESSION['userid'])) ? $_SESSION['userid'] : $data['ob_user_id'];
		// echo "<pre>"; print_r($data); exit;
		$bill = [
			"idBook" => $data['ob_book_id'],
			"issueDate" => $data['ob_issue_date'],
			"dueDate" => $data['ob_due_date'],
			"idBusiness" => $data['ob_business_id'],
			"totalAmount" => $data['ob_total_amount'],
			"totalAmountInWords" => $data['ob_amount_in_words'],
			"sbSize" => (isset($data['ob_sign_board_size'])) ? $data['ob_sign_board_size'] : "",
			"gpSize" => (isset($data['ob_glass_pasting_size'])) ? $data['ob_glass_pasting_size'] : "",
			"abSize" => (isset($data['ob_advertisement_size'])) ? $data['ob_advertisement_size'] : "",
			"ssSize" => (isset($data['ob_sun_shade_size'])) ? $data['ob_sun_shade_size'] : "",
			"sb" => (isset($data['ob_sign_board_total_sf'])) ? $data['ob_sign_board_total_sf'] : "",
			"gp" => (isset($data['ob_glass_pasting_total_sf'])) ? $data['ob_glass_pasting_total_sf'] : "",
			"ab" => (isset($data['ob_advertisement_total_sf'])) ? $data['ob_advertisement_total_sf'] : "",
			"ss" => (isset($data['ob_sun_shade_total_sf'])) ? $data['ob_sun_shade_total_sf'] : "",
			"sbCharges" => (isset($data['ob_sign_board_charges_per_sf'])) ? $data['ob_sign_board_charges_per_sf'] : "",
			"gpCharges" => (isset($data['ob_glass_plasting_charges_per_sf'])) ? $data['ob_glass_plasting_charges_per_sf'] : "",
			"abCharges" => (isset($data['ob_advertisement_charges_per_sf'])) ? $data['ob_advertisement_charges_per_sf'] : "",
			"ssCharges" => (isset($data['ob_sun_shade_charges_per_sf'])) ? $data['ob_sun_shade_charges_per_sf'] : "",
			"remarks" => (isset($data['ob_remarks'])) ? $data['ob_remarks'] : "",
			"idCompany" => $companyId,
			"idUser" => $userId
		];
		$book = new book();
		$params = [];
		$params['book_id'] = $data['ob_book_id'];
		$resBook = $book->addBookTransaction($params);
		// echo  "<pre>";
		// print_r($params);
		// print_r($resBook);
		// print_r($bill);
		// exit;
		if($resBook['status'] == "Active" && isset($resBook['serialActive'])){
			$bill['serial'] = $resBook['serialActive'];
			$response = $this->insert($this->getTable('bill'), $bill);
		}else{
			$response = $resBook;
		}
		return $response;
	}

	public function updateBill($data){
		$companyId = (isset($_SESSION['companyid'])) ? $_SESSION['companyid'] : $data['ob_company_id'];
		$userId = (isset($_SESSION['userid'])) ? $_SESSION['userid'] : $data['ob_user_id'];

		return $response;
	}

	public function getBills($data){
		$companyId = (isset($_SESSION['companyid'])) ? $_SESSION['companyid'] : $data['ob_company_id'];
		$userId = (isset($_SESSION['userid'])) ? $_SESSION['userid'] : $data['ob_user_id'];
		$qry = "SELECT 
					b.idBill,
					bo.name as bookName, 
				    b.serial, 
				    bs.name as businessName, 
				    b.sbSize, 
				    b.gpSize,
				    b.abSize, 
				    b.ssSize, 
				    b.sb, 
				    b.gp, 
				    b.ab, 
				    b.ss, 
				    b.sbCharges, 
				    b.gpCharges, 
				    b.abCharges, 
				    b.ssCharges, 
				    DATE_FORMAT(b.issueDate,'%d-%m-%Y') as issueDate, 
				    DATE_FORMAT(b.dueDate,'%d-%m-%Y') as dueDate, 
				    b.totalAmount, 
				    b.totalAmountInWords, 
				    b.remarks 
				FROM billing.bill b
					inner join book bo on bo.idBook = b.idBook
					inner join business bs on bs.idBusiness = b.idBusiness
				where b.idCompany = ? and b.isActive = ?";
		$whereParams = [$companyId, 1];
		$response = $this->customSelect($qry, $whereParams);
		return $response;
	}

	public function validateRequestsParams(){
		$this->mendetoryParamsAgainstEachMethod = [
			'getBills' =>[],
			'createBill' => [
				"ob_book_id", 
				"ob_issue_date",
				"ob_due_date", 
				"ob_business_id",
				"ob_total_amount",
				"ob_amount_in_words"
			]
		];
		return $this->mendetoryParamsAgainstEachMethod;
	}
}
?>