ria/app/Models/Supplier_model.php

206 lines
6.7 KiB
PHP

<?php
namespace App\Models;
use CodeIgniter\Model;
class Supplier_model extends Model
{
/**
* This function is used to get the user listing count
* @param string $searchText : This is optional search text
* @param number $page : This is pagination offset
* @param number $segment : This is pagination limit
* @return array $result : This is result
*/
function supplierlisting()
{
$builder = $this->db->table('T_SupplierDetailsN as BaseT')
->select('BaseT.SupplierID, BaseT.SupplierName, BaseT.Address, BaseT.ContactNumber, BaseT.AlternateContactNumber,BaseT.EmailAddress,BaseT.Exiseregistration, BaseT.TIN, BaseT.PAN,,BaseT.GSTNO,BaseT.GSTRange,BaseT.CollectrateAddress,BaseT.UANumber,BaseT.CreatedOn,BaseT.PaymentID,pmt.PaymentTerms,BaseT.CSTDate') //,BaseT.PaymentTerms,BaseT.PaymentDays,BaseT.PayableAT,pmt.Details');
->join('T_PaymentTerms as pmt', 'pmt.PaymentID = BaseT.PaymentID', 'left');
$query = $builder->get();
$result = $query->getResult();
return $result;
}
/**
* This function used to get user information by id
* @param number $userId : This is user id
* @return array $result : This is user information
*/
function getpayment($Configvalue = '')
{
$ConfigID = 'C009';
$builder = $this->db->table('T_ConfigDetails')
->select('ConfigValue')
->where('Config_id ', $ConfigID);
if ($Configvalue != '') {
$builder->where('ConfigValue !=', $Configvalue);
}
$query = $builder->get();
return $query->getResult();
}
function getPaymentTerms($payment = '')
{
$builder = $this->db->table('T_PaymentTerms')->select('*');
$query = $builder->get();
$result = $query->getResult();
return $result;
}
function checkPAN($PAN, $SID = '')
{
$builder = $this->db->table('T_SupplierDetailsN')
->select('PAN')->where('PAN', $PAN);
if ($SID != '') {
$builder->where('SupplierID !=', $SID);
}
$query = $builder->get();
if ($query->getNumRows() > 0) {
//echo $result->getNumRows();
return $query->getResultArray();
}
}
public function checkGST($GST, $SID = null)
{
$builder = $this->db->table('T_SupplierDetailsN')->select('GSTNO')
->where('GSTNO', $GST);
if ($SID !== null) {
$builder->where('SupplierID !=', $SID);
}
$query = $builder->get();
if ($query->getNumRows() > 0) {
return $query->getResultArray();
} else {
return [];
}
}
function addNewsupplier($supplier)
{
$builder = $this->db->table('T_SupplierDetailsN');
$builder->insert($supplier);
$SID = $this->db->affectedRows();
return $SID;
}
// function addNewsupplier($supplier)
// {
// $builder = $this->db->table('T_SupplierDetailsN');
// $builder->insert($supplier);
// $SID = $this->db->affectedRows();
// // if($SID>0)
// // {
// // $subQuery = 'select max(SupplierID) as suppid from T_SupplierDetailsN';
// // $query = $this->db->query($subQuery);
// // return $query->getResult();
// // }
// return $SID;
// }
/**
* This function used to get user information by id
* @param number $userId : This is user id
* @return array $result : This is user information
*/
function getSupplierInfo($supplierID = '')
{
//->select('SD.SupplierID, SD.SupplierName, SD.Address, SD.ContactNumber, SD.AlternateContactNumber, SD.EmailAddress, SD.Exiseregistration, SD.TIN, SD.PAN, SD.CSTNO, SD.CSTDate, SD.GSTNO, SD.GSTRange, SD.CollectrateAddress, SD.UANumber, SD.BankAcNumber, SD.IsService, SD.IsMaintanance, SD.IsRawMaterial, SD.IFSCCode, SD.BranchName, SD.BankAddress, SD.IsActive, SD.PaymentID,PT.PaymentTerms');
$builder = $this->db->table('T_SupplierDetailsN SD')->select('SD.*,PT.PaymentTerms')
->join('T_PaymentTerms PT', 'PT.PaymentID = SD.PaymentID', 'left')
->where('SD.SupplierID', $supplierID);
$query = $builder->get();
return $query->getResult();
}
/* This function to get the Supplier Address on respective Supplier ID */
function GetSupplierAddress($supplierID)
{
$builder = $this->db->table('T_SupplierDetailsN')->select('Address')->where('SupplierID', $supplierID);
$query = $builder->get();
return $query->getResultArray();
}
function UpdateSupplier($supplier, $supplierID)
{
$this->db->table('T_SupplierDetailsN')
->where('SupplierID', $supplierID)
->update($supplier);
return $this->db->affectedRows();
return TRUE;
}
function viewsupplier($supplier, $supplierID)
{
$this->db->table('T_SupplierDetailsN')
->where('SupplierID', $supplierID)
->update($supplier);
return $this->db->affectedRows();
}
function SupplierCertification($cerificate)
{
$builder = $this->db->table('T_Supplier_Certification');
$builder->insert($cerificate);
$r = $this->db->affectedRows();
return $r;
}
function export_excel()
{
$builder = $this->db->table('T_SupplierDetailsN as det')
->select('det.SupplierID,SupplierName,det.Address,det.ContactNumber,det.AlternateContactNumber,det.EmailAddress,
det.PAN,det.GSTNO,det.MSME,
CONCAT(det.BankAcNumber, "-", det.IFSCCode, "-", det.BranchName," ", det.BankAddress) AS ConcatenatedBankDetails,
pmt.PaymentTerms,det.IsService,det.IsMaintanance,det.IsRawMaterial,emp.firstname ,emp1.firstname as Update_by,det.IsActive')
->join('tbl_users as tbl', ' det.createdby = tbl.userid', 'left')
->join('T_Employee_Details as emp', 'emp.empid=tbl.empid', 'left')
->join('tbl_users as tbl1', ' det.UpdatedBy = tbl1.userid', 'left')
->join('T_Employee_Details as emp1', 'emp1.empid=tbl1.empid', 'left')
->join('T_PaymentTerms as pmt', 'pmt.PaymentID = det.PaymentID', 'left');
$query = $builder->get();
return $query->getResultArray();
}
function checkSupplierExists($supp_name)
{
$builder = $this->db->table('T_SupplierDetailsN')
->select('SupplierID,SupplierName,Address')
->like('REPLACE(SupplierName, " ", "")', $supp_name);
$query = $builder->get();
if ($query->getNumRows() > 0) {
return $query->getResultArray();
} else {
return [];
}
}
/*SUPPLIER */
/*SUPPLIER TYPE */
}