ria/app/Models/Supplier_model.php

254 lines
8.3 KiB
PHP
Executable File

<?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.IsActive') //,BaseT.PaymentTerms,BaseT.PaymentDays,BaseT.PayableAT,pmt.Details');
->join('t_paymentterms as pmt', 'pmt.PaymentID = BaseT.PaymentID', 'left')
->orderBy('BaseT.CreatedOn', 'desc');
$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 deleteSupplier($Sid, $SupplierInfo){
$builder = $this->db->table('t_supplierdetailsn')
->where('SupplierID',$Sid)
->update($SupplierInfo);
return $this->db->affectedRows();
}
function reActivateSupplier($Sid, $SupplierInfo){
$builder = $this->db->table('t_supplierdetailsn')
->where('SupplierID',$Sid)
->update($SupplierInfo);
return $this->db->affectedRows();
}
function checkTransporter($transporterName){
$builder = $this->db->table('t_transporter')
->where('name', $transporterName);
$query = $builder->get();
return $query->getResult();
}
function deleteTransporter($Sid, $SupplierInfo){
$builder = $this->db->table('t_transporter')
->where('id',$Sid)
->update($SupplierInfo);
return $this->db->affectedRows();
}
function reActivateTransporter($Sid, $SupplierInfo){
$builder = $this->db->table('t_transporter')
->where('id',$Sid)
->update($SupplierInfo);
return $this->db->affectedRows();
}
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 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();
}
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,IsActive')
->like('REPLACE(SupplierName, " ", "")', $supp_name);
$query = $builder->get();
if ($query->getNumRows() > 0) {
return $query->getResultArray();
} else {
return [];
}
}
/*SUPPLIER */
/** for transporter listing */
function transporterListing()
{
$builder = $this->db->table('t_transporter as t')
->select('t.id,t.name,t_employee_details.FirstName as FirstName,t.created_on,t.isactive')
->join('tbl_users', 'tbl_users.userId = t.created_by')
->join('t_employee_details', 't_employee_details.EmpID=tbl_users.EmpID')
->orderBy('t.created_on', 'desc');
$query =$builder->get();
$result = $query->getResult();
// echo $this->db->getLastQuery()->getQuery();die;
return $result;
}
/** for save transporter details */
public function saveTransporter($addarr) {
$this->db->transStart();
$builder = $this->db->table('t_transporter');
$builder->insert($addarr);
$aff_row = $this->db->affectedRows();
log_message('error', 'save transporter Query: ' . $this->db->getLastQuery()->getQuery());
$this->db->transComplete();
return $aff_row;
}
/** for update transporter details */
public function updateTransporter($editarr, $id) {
$this->db->table('t_transporter')
->where('id', $id)
->update($editarr);
$aff_row = $this->db->affectedRows();
return $aff_row;
}
}