1408 lines
52 KiB
PHP
Executable File
1408 lines
52 KiB
PHP
Executable File
<?php if(!defined('BASEPATH')) exit('No direct script access allowed');
|
|
|
|
class purchaseorder_model extends CI_Model
|
|
{
|
|
function GetServicePOListforStatusUpdate()
|
|
{
|
|
$this->db->select('*');
|
|
$this->db->from('T_PurchaseOrder_Master');
|
|
$this->db->where('POType',SERVICE);
|
|
$this->db->where('status',PO_RELEASED);
|
|
$query = $this->db->get();
|
|
|
|
return $query->result();
|
|
}
|
|
|
|
function GetPODetailforBillingServicePO($PONO)
|
|
{
|
|
|
|
$subQuery ='select mast.ReqNo,mast.ReqDate,supp.SupplierName,PODate,st.StatusName as WorkStatus,ServiceWorkStatus,POMast.PaymentTerms,
|
|
POMast.ServiceWorkStatus,LineItem.*,mat.MaterialName,mat.UOM,emp.FirstName,emp.LastName,POMast.TotalOrderValue
|
|
from T_PurchaseOrder_Master POMast
|
|
join T_PurchaseOrder_LineItem LineItem on LineItem.PONO = POMast.PONO
|
|
join T_SupplierDetailsN supp on supp.SupplierID = POMast.SupplierID
|
|
join T_MaterialMaster mat on mat.MaterialCode = LineItem.MaterialCode
|
|
join T_Status Stat on Stat.StatusCode = POMast.Status
|
|
join T_Status st on st.StatusCode = POMast.ServiceWorkStatus
|
|
join T_Requestion_Master mast on mast.ReqNo = LineItem.ReqNo
|
|
join tbl_users users on users.userId = mast.CreatedBy
|
|
join T_Employee_Details emp on emp.EmpID = users.EmpID
|
|
where POMast.POType=? and POMast.PONO=?';
|
|
|
|
$query = $this->db->query($subQuery,array(SERVICE,$PONO));
|
|
|
|
return $query->result_array();
|
|
|
|
}
|
|
|
|
function GetServicePOListforBilling()
|
|
{
|
|
$subQuery ='select POMast.PONO,supp.SupplierName,PODate,POMast.PaymentTerms,POMast.ServiceWorkStatusRemarks,
|
|
LineItem.*,mat.MaterialName,mat.UOM,emp.FirstName,emp.LastName,Tax.TotalValue,Cost.CostCenterName
|
|
,Dept.DepartmentName from T_PurchaseOrder_Master POMast
|
|
join T_PurchaseOrder_LineItem LineItem on LineItem.PONO = POMast.PONO
|
|
join T_Service_Tax Tax on Tax.LineItemNo = LineItem.LineItemNo
|
|
join T_SupplierDetailsN supp on supp.SupplierID = POMast.SupplierID
|
|
join T_MaterialMaster mat on mat.MaterialCode = LineItem.MaterialCode
|
|
join T_Status Stat on Stat.StatusCode = POMast.Status
|
|
join T_Requestion_Master mast on mast.ReqNo = LineItem.ReqNo
|
|
join tbl_users users on users.userId = POMast.CreatedBy
|
|
join T_Employee_Details emp on emp.EmpID = users.EmpID
|
|
join T_DepartmentDetails Dept on Dept.DEPCode = emp.Departmentcode
|
|
join T_CostCenter_Master Cost on Cost.CostCenterCode=LineItem.CostCenterCode
|
|
where POMast.POType=? and ServiceWorkStatus=?';
|
|
|
|
$query = $this->db->query($subQuery,array(SERVICE,SERVICE_COMPLETED));
|
|
return $query->result();
|
|
}
|
|
|
|
/**
|
|
* This function is used to get the user listing count
|
|
* @param string $searchText : This is optional search text
|
|
* @return number $count : This is row count
|
|
*/
|
|
function purchaseorderListingCount()
|
|
{
|
|
$this->db->distinct();
|
|
$this->db->select('POMast.PONO,supp.SupplierName,TotalOrderValue,PODate,Stat.StatusName,Req.ReqType,DeliveryDate');
|
|
$this->db->from('T_PurchaseOrder_Master POMast');
|
|
$this->db->join('T_SupplierDetailsN supp', 'supp.SupplierID = POMast.SupplierID');
|
|
$this->db->join('T_Status Stat', 'Stat.StatusCode = POMast.Status');
|
|
$this->db->join('T_PurchaseOrder_LineItem LineItem', 'POMast.PONO = LineItem.PONO');
|
|
$this->db->join('T_Requestion_Master Req', 'Req.ReqNo = LineItem.ReqNo');
|
|
// print_r( $this->db->last_query());
|
|
$query = $this->db->get();
|
|
|
|
return count($query->result());
|
|
}
|
|
|
|
/**
|
|
* 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 purchaseorderListing($forwhat='')
|
|
{
|
|
$this->db->distinct();
|
|
$this->db->select('POMast.PONO,supp.SupplierName,TotalOrderValue,PODate,Stat.StatusName,Stat.StatusCode,POMast.POType as ReqType,DeliveryDate,DeliverySchedule,DeliveryOption,POMast.CapitalRange');
|
|
$this->db->from('T_PurchaseOrder_Master POMast');
|
|
$this->db->join('T_SupplierDetailsN supp', 'supp.SupplierID = POMast.SupplierID');
|
|
$this->db->join('T_Status Stat', 'Stat.StatusCode = POMast.Status');
|
|
$this->db->join('T_PurchaseOrder_LineItem LineItem', 'POMast.PONO = LineItem.PONO');
|
|
$this->db->join('T_Requestion_Master Req', 'Req.ReqNo = LineItem.ReqNo');
|
|
if($forwhat=='amendment')
|
|
{
|
|
$this->db->where('POMast.Status',PO_RELEASED);
|
|
}
|
|
else
|
|
{
|
|
$this->db->where('POMast.Status !=',PO_AMENDED);
|
|
// $this->db->order_by('POMast.Status !=',PO_AMENDED);
|
|
}
|
|
$query = $this->db->get();
|
|
//print_r( $this->db->last_query());
|
|
$result = $query->result();
|
|
return $result;
|
|
}
|
|
|
|
/**
|
|
* This function is used to get the SupplierID and SupplierName information
|
|
* @return array $result : This is result of the query
|
|
*/
|
|
function getSupplierName($supID='')
|
|
{
|
|
$this->db->select('SupplierID, SupplierName,Address,PaymentID');
|
|
$this->db->from('T_SupplierDetailsN');
|
|
if($supID != '')
|
|
{
|
|
$this->db->where('SupplierID',$supID);
|
|
}
|
|
//$this->db->where('roleId !=', 1);
|
|
$query = $this->db->get();
|
|
|
|
return $query->result();
|
|
}
|
|
/**
|
|
* This function is used to get the userId information
|
|
* @return array $result : This is result of the query
|
|
*/
|
|
function getusers()
|
|
{
|
|
$this->db->select('userId, name');
|
|
$this->db->from('tbl_users');
|
|
//$this->db->where('roleId !=', 1);
|
|
$query = $this->db->get();
|
|
|
|
return $query->result();
|
|
}
|
|
/**
|
|
* This function is used to get the Raw Material information
|
|
* @return array $result : This is result of the query
|
|
*/
|
|
function getRawPOMaterialList($ReqNo,$IsArray='')
|
|
{
|
|
|
|
$result = $this->db-> query("CALL P_GET_REQUISTIONLIST('".$ReqNo."')") or die(mysql_error());
|
|
|
|
$result ->next_result();
|
|
|
|
//print_r($this->db->last_query());
|
|
|
|
if ($result->num_rows > 0)
|
|
{
|
|
//echo 'PO Line item Inserted successfully';
|
|
if($IsArray != '')
|
|
{
|
|
return $result->result_array();
|
|
}
|
|
else
|
|
{
|
|
return $result->result();
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
/**
|
|
This Function to get the List of Requistion which require to create PO
|
|
*/
|
|
function getAllRequistionListToCreatePO()
|
|
{
|
|
$result = $this->db-> query("CALL P_PURCHASEORDER_DETAILS()") or die(mysql_error());
|
|
|
|
$result ->next_result();
|
|
|
|
|
|
if ($result->num_rows > 0)
|
|
{
|
|
|
|
return $result->result();
|
|
}
|
|
}
|
|
|
|
/**
|
|
* This function is used to get the Raw Material information
|
|
* @return array $result : This is result of the query
|
|
*/
|
|
function getRawMaterialList($MatType='',$ReqNoList='')
|
|
{
|
|
|
|
$this->db->select('ReqNo,Req.MaterialCode,MaterialName,UOM,Req.Quantity');
|
|
$this->db->from('T_Requestion_Details Req');
|
|
$this->db->join('T_MaterialMaster mat', 'Req.MaterialCode = mat.MaterialCode');
|
|
$this->db->where('mat.MaterialType', $MatType);
|
|
$this->db->where_in('Req.ReqNo', $ReqNoList);
|
|
|
|
$query = $this->db->get();
|
|
//print_r($this->db->last_query());
|
|
return $query->result();
|
|
}
|
|
/**
|
|
* This function is used to get the Raw Material information
|
|
* @return array $result : This is result of the query
|
|
*/
|
|
function getRawMaterialListForPO($MatType='',$ReqNo='')
|
|
{
|
|
$subQuery ='SELECT ReqNo,Req.MaterialCode,MaterialName,UOM,Req.Quantity
|
|
FROM T_Requestion_Details Req
|
|
JOIN T_MaterialMaster mat ON Req.MaterialCode = mat.MaterialCode
|
|
where mat.MaterialType = ?
|
|
AND Req.ReqNo = ?
|
|
AND mat.MaterialCode != (SELECT MaterialCode FROM T_PurchaseOrder_LineItem WHERE ReqNo =?
|
|
)';
|
|
|
|
$query = $this->db->query($subQuery,array($MatType,$ReqNo,$ReqNo));
|
|
|
|
return $query->result_array();
|
|
|
|
|
|
}
|
|
function GetAvailableBudgetAmount($CostCode,$Year,$BudgetType)
|
|
{
|
|
/* $this->db->select('BudgetAmount');
|
|
$this->db->from('T_CostCenter_Budget');
|
|
$this->db->where('CostCenterCode',$CostCode );
|
|
$this->db->where('BudgetYear',$Year );
|
|
$this->db->where('BudgetType',$BudgetType );
|
|
$query = $this->db->get();
|
|
|
|
return $query->result_array(); */
|
|
|
|
/* $subQuery ='select BudgetAmount, (select ifnull(sum(TotalOrderValue),0) as Totalvalue from
|
|
T_PurchaseOrder_Master PO join T_PurchaseOrder_LineItem Item on
|
|
Item.PONO = PO.PONO join T_Requestion_Master mast on mast.ReqNo = Item.ReqNo where Item.CostCenterCode=? and mast.ReqType=?)as Totalvalue
|
|
from T_CostCenter_Budget Bud where Bud.CostCenterCode=? and
|
|
BudgetYear = ? and BudgetType =?'; */
|
|
|
|
$subQuery ='select BudgetAmount, (select ifnull(sum(Quantity*Rate),0) as Totalvalue from
|
|
T_PurchaseOrder_LineItem Item join T_Requestion_Master mast on mast.ReqNo = Item.ReqNo where Item.CostCenterCode=? and mast.ReqType=?)as Totalvalue
|
|
from T_CostCenter_Budget Bud where Bud.CostCenterCode=? and
|
|
BudgetYear = ? and BudgetType =?';
|
|
|
|
$query = $this->db->query($subQuery,array($CostCode,$BudgetType,$CostCode,$Year,$BudgetType));
|
|
//print_r($this->db->last_query());
|
|
return $query->result_array();
|
|
|
|
}
|
|
|
|
|
|
function GetAvailableImportBudgetAmount($CostCode,$Year,$BudgetType)
|
|
{
|
|
$subQuery='select BudgetAmount,(select ifnull(sum((Quantity*Rate*ExchangeRate)),0)as TValue from T_PurchaseOrder_LineItem LineItem
|
|
join T_PurchaseOrder_Master Mast on Mast.PONO=LineItem.PONO where POType=?
|
|
and CostCenterCode=?)as TotalValue from T_CostCenter_Budget Bud where Bud.CostCenterCode=? and BudgetYear=? and BudgetType=?';
|
|
$query = $this->db->query($subQuery,array($BudgetType,$CostCode,$CostCode,$Year,$BudgetType));
|
|
//print_r($this->db->last_query());
|
|
return $query->result_array();
|
|
|
|
|
|
}
|
|
|
|
/**
|
|
* This function is used to get the Requsition List for the login user
|
|
* @return array $result : This is result of the query
|
|
*/
|
|
function getRequistDetails($ReqNoList='')
|
|
{
|
|
$this->db->distinct();
|
|
$this->db->select('ReqNo,ReqType,Status,Requestedby,mast.CreatedDate,mast.Schedule_Type,mast.NumberOfService,mast.Service_Period,emp.FirstName,emp.EmpID,emp.Designation, Dept.DEPCode,Dept.DepartmentName,mast.ReqDate,mast.CostCenterCode,mast.Status');
|
|
$this->db->from('T_Requestion_Master mast');
|
|
$this->db->join('T_Employee_Details emp', 'mast.Requestedby = emp.EmpID');
|
|
$this->db->join('T_DepartmentDetails Dept', 'emp.Departmentcode = Dept.DEPCode');
|
|
$this->db->where_in('mast.ReqNo', $ReqNoList);
|
|
|
|
$query = $this->db->get();
|
|
//print_r($this->db->last_query());
|
|
return $query->result();
|
|
}
|
|
/**
|
|
* This function is used to get the Requsition List for the login user
|
|
* @return array $result : This is result of the query
|
|
*/
|
|
function getRequistDetailsForPO($ReqNoList='')
|
|
{
|
|
$this->db->distinct();
|
|
$this->db->select('ReqNo,ReqType,Status,Requestedby,mast.CreatedDate,emp.FirstName,emp.EmpID,emp.Designation, Dept.DEPCode,Dept.DepartmentName,mast.ReqDate');
|
|
$this->db->from('T_Requestion_Master mast');
|
|
$this->db->join('T_Employee_Details emp', 'mast.Requestedby = emp.EmpID');
|
|
$this->db->join('T_DepartmentDetails Dept', 'emp.Departmentcode = Dept.DEPCode');
|
|
$this->db->where_in('mast.ReqNo', $ReqNoList);
|
|
|
|
$query = $this->db->get();
|
|
|
|
return $query->result();
|
|
}
|
|
/**
|
|
* This function is used to get the Cost center information
|
|
* @return array $result : This is result of the query
|
|
*/
|
|
function getCostCenter()
|
|
{
|
|
|
|
$this->db->select('CostName, Description');
|
|
$this->db->from('T_CostCentre');
|
|
|
|
$query = $this->db->get();
|
|
|
|
return $query->result();
|
|
}
|
|
|
|
|
|
/**
|
|
* This function is used to get the CostCenter for the Selected Requistion Number
|
|
* @return array $result : This is result of the query
|
|
*/
|
|
function getCostCenterbyRequist($ReqNo='',$BudYear='',$ReqType='')
|
|
{
|
|
|
|
$this->db->distinct();
|
|
$this->db->select('Mast.CostCenterCode,Mast.CostCenterName,Bud.BudgetAmount,ReqNo');
|
|
$this->db->from('T_CostCenter_Master Mast');
|
|
$this->db->join('T_CostCenter_Departments CostDept', 'CostDept.CostCenterCode = Mast.CostCenterCode');
|
|
$this->db->join('T_CostCenter_Budget Bud', 'Bud.CostCenterCode = Mast.CostCenterCode');
|
|
$this->db->join('T_Employee_Details emp', 'CostDept.DEPCode = emp.Departmentcode');
|
|
$this->db->join('T_Requestion_Master req', 'req.Requestedby = emp.EmpID');
|
|
|
|
$this->db->where('BudgetType ',$ReqType );
|
|
$this->db->where('BudgetYear ',$BudYear );
|
|
if($ReqNo != '')
|
|
{
|
|
$this->db->where('ReqNo ',$ReqNo);
|
|
}
|
|
|
|
$query = $this->db->get();
|
|
return $query->result();
|
|
}
|
|
|
|
/**
|
|
* This function is used to get the Config value from configuration table
|
|
* @return array $result : This is result of the query
|
|
*/
|
|
function getRequistionNoFromPO($PONO='')
|
|
{
|
|
|
|
$this->db->select('ReqNo,');
|
|
$this->db->from('T_PurchaseOrder_LineItem');
|
|
if($PONO != '')
|
|
{
|
|
$this->db->where('PONO ',$PONO );
|
|
}
|
|
|
|
$query = $this->db->get();
|
|
|
|
return $query->result();
|
|
}
|
|
|
|
|
|
/**
|
|
* This function is used to get the Config value from configuration table
|
|
* @return array $result : This is result of the query
|
|
*/
|
|
function getConfigValue($ConfigID ,$ConfigValue = '')
|
|
{
|
|
|
|
$this->db->select('ConfigValue');
|
|
$this->db->from('T_ConfigDetails');
|
|
$this->db->where('Config_id ',$ConfigID );
|
|
if($ConfigValue != '')
|
|
{
|
|
$this->db->where('ConfigValue != ',$ConfigValue );
|
|
}
|
|
$query = $this->db->get();
|
|
|
|
return $query->result();
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
* This function is used to get the Company information from T_Company_Details table
|
|
* @return array $result : This is result of the query
|
|
*/
|
|
function getCompanyInformation()
|
|
{
|
|
|
|
$this->db->select('CompanyName,Address');
|
|
$this->db->from('T_Company_Details');
|
|
|
|
$query = $this->db->get();
|
|
|
|
return $query->result();
|
|
}
|
|
/**
|
|
* This function is used to get the Employee List
|
|
* @return array $result : This is result of the query
|
|
*/
|
|
function getAllEmployees()
|
|
{
|
|
$this->db->select('EmpID,FirstName,LastName');
|
|
$this->db->from('T_Employee_Details');
|
|
$query = $this->db->get();
|
|
|
|
return $query->result();
|
|
}
|
|
|
|
/**
|
|
* This function is used to get the Employee List
|
|
* @return array $result : This is result of the query
|
|
*/
|
|
function getLastCreatedPODate()
|
|
{
|
|
$this->db->select('max(PODate) as PODate');
|
|
$this->db->from('T_PurchaseOrder_Master');
|
|
$query = $this->db->get();
|
|
|
|
return $query->result();
|
|
}
|
|
|
|
function getLastReleasedPODate()
|
|
{
|
|
$this->db->select('max(ReleasedOn) as PODate');
|
|
$this->db->from('T_PurchaseOrder_Master');
|
|
$query = $this->db->get();
|
|
|
|
return $query->result();
|
|
}
|
|
/**
|
|
* This function is used to add New Purchase order to the system
|
|
|
|
*/
|
|
function addPOMaster($POMaster)
|
|
{
|
|
$this->db->trans_start();
|
|
$this->db->insert('T_PurchaseOrder_Master', $POMaster);
|
|
$insert_id = $this->db->affected_rows();
|
|
$this->db->trans_complete();
|
|
// print_r($this->db->last_query());
|
|
if($insert_id>0)
|
|
{
|
|
$subQuery = 'select max(PONO) as PONO from T_PurchaseOrder_Master';
|
|
|
|
$query = $this->db->query($subQuery);
|
|
|
|
return $query->result_array();
|
|
}
|
|
}
|
|
|
|
|
|
function addAmendPOMaster($POMaster,$CreatedBy,$ParentPO)
|
|
{
|
|
// print_r($POMaster);
|
|
$this->db->trans_start();
|
|
$this->db->insert('T_PurchaseOrder_Master', $POMaster);
|
|
$insert_id = $this->db->affected_rows();
|
|
$this->db->trans_complete();
|
|
// print_r($this->db->last_query());
|
|
if($insert_id>0)
|
|
{
|
|
$subQuery = 'select max(PONO) as PONO from T_PurchaseOrder_Master where CreatedBy=? and ParentPO=?';
|
|
|
|
$query = $this->db->query($subQuery,array($CreatedBy,$ParentPO));
|
|
|
|
return $query->result_array();
|
|
}
|
|
}
|
|
|
|
/**
|
|
* This function is used to add New Purchase order Line Item to the system
|
|
*/
|
|
function addPOLineItem($POLineItem)
|
|
{
|
|
$this->db->trans_start();
|
|
$this->db->insert('T_PurchaseOrder_LineItem', $POLineItem);
|
|
$insert_id = $this->db->affected_rows();
|
|
$this->db->trans_complete();
|
|
// print_r($this->db->last_query());
|
|
if($insert_id>0)
|
|
{
|
|
$subQuery = 'select max(LineItemNo) as LineItemNo from T_PurchaseOrder_LineItem';
|
|
|
|
$query = $this->db->query($subQuery);
|
|
|
|
return $query->result_array();
|
|
}
|
|
}
|
|
|
|
/**
|
|
* This function is used to add Revenue Tax to the system
|
|
*/
|
|
function addRevenueTax($RevenueTaxList)
|
|
{
|
|
$this->db->trans_start();
|
|
$this->db->insert('T_Revenue_Tax', $RevenueTaxList);
|
|
$insert_id = $this->db->affected_rows();
|
|
$this->db->trans_complete();
|
|
return $insert_id;
|
|
}
|
|
/**
|
|
* This function is used to add Service Tax to the system
|
|
*/
|
|
function addServiceTax($ServiceTaxList)
|
|
{
|
|
$this->db->trans_start();
|
|
$this->db->insert('T_Service_Tax', $ServiceTaxList);
|
|
$insert_id = $this->db->affected_rows();
|
|
$this->db->trans_complete();
|
|
return $insert_id;
|
|
}
|
|
|
|
|
|
/**
|
|
* This function is used to add Service Tax to the system
|
|
*/
|
|
function addImportTax($ImportTaxList)
|
|
{
|
|
$this->db->trans_start();
|
|
$this->db->insert('T_Import_Tax', $ImportTaxList);
|
|
$insert_id = $this->db->affected_rows();
|
|
$this->db->trans_complete();
|
|
return $insert_id;
|
|
}
|
|
|
|
|
|
/**
|
|
* This function used to get user information by id
|
|
* @param number $userId : This is user id
|
|
* @return array $result : This is user information
|
|
*/
|
|
function getuserInfo($PO)
|
|
{
|
|
$this->db->select('POType, PODate, SupplierID,SpecialOrder,UserID,RequestedDate,RequesterEmail,RequesterPh, PurchasingCategory,BudgetManager,BudgetManagerDepartment,');
|
|
$this->db->from('T_PurchaseOrderDetails');
|
|
$this->db->where('PONO', $PO);
|
|
$query = $this->db->get();
|
|
|
|
return $query->result();
|
|
}
|
|
|
|
// This Method to get the Service PO Details for Edit the Item
|
|
|
|
function GetServicePurchaseOrder($PONO = '')
|
|
{
|
|
$this->db->distinct();
|
|
$this->db->select('ReqNo,POMast.PONO,ServiceDescription,supp.SupplierID,supp.SupplierName,supp.Address,PODate,Stat.StatusName,DeliveryOption,DeliverySchedule,DeliveryDate,DeliveryAddress,POMast.PaymentTerms,POMast.PaymentDays,POMast.PayableAT,POMast.ExchangeRate,POMast.UpdatedOn,Stat.StatusCode,POMast.ServiceWorkStatus,POMast.*');
|
|
$this->db->from('T_PurchaseOrder_Master POMast');
|
|
$this->db->join('T_SupplierDetailsN supp', 'supp.SupplierID = POMast.SupplierID');
|
|
$this->db->join('T_Status Stat', 'Stat.StatusCode = POMast.Status');
|
|
$this->db->join('T_PurchaseOrder_LineItem LineItem', 'POMast.PONO = LineItem.PONO');
|
|
|
|
$this->db->where('POMast.PONO', $PONO);
|
|
$query = $this->db->get();
|
|
|
|
$result = $query->result();
|
|
|
|
return $result;
|
|
}
|
|
|
|
// This Method to get the Service PO Child Details for Edit the Item
|
|
|
|
|
|
// This Method to get the Service PO Child Details for Edit the Item
|
|
function GetServicePurchaseOrderDetails($PONO = '')
|
|
{
|
|
|
|
$subQuery ='SELECT distinct LineItem.LineItemNo,LineItem.ReqNo,Mat.MaterialCode,Mat.MaterialName,Mat.UOM,Quantity,ReceivedQuantity,Rate,LineItem.Status,ROUND((Quantity *Rate),2 ) as BasicValue ,ROUND((After_CGST + After_SGST + After_IGST),2)as Taxamount
|
|
,TotalValue,CGST,After_CGST,SGST,After_SGST,IGST,After_IGST,otherallowance,LineItem.CostCenterCode,LineItem.ServiceFrequency,LineItem.ServiceMaterialDescription,Req.Schedule_Type,Req.NumberOfService,Req.Service_Period
|
|
FROM T_PurchaseOrder_LineItem LineItem
|
|
join T_MaterialMaster Mat on Mat.MaterialCode = LineItem.MaterialCode
|
|
join T_Service_Tax Tax on Tax.LineItemNo = LineItem.LineItemNo
|
|
join T_Requestion_Master Req on Req.ReqNo = LineItem.ReqNo
|
|
where LineItem.PONO =?';
|
|
|
|
$query = $this->db->query($subQuery,array($PONO));
|
|
|
|
return $query->result();
|
|
|
|
|
|
}
|
|
// This Method to get the Service PO Child Details for Edit the Item
|
|
function GetServicePurchaseOrderDetailsForPrint($PONO = '')
|
|
{
|
|
|
|
$subQuery ='SELECT distinct LineItem.LineItemNo,LineItem.ReqNo,LineItem.ServiceMaterialDescription,Mat.MaterialCode,Mat.MaterialName,Mat.UOM,
|
|
LineItem.Quantity,LineItem.Rate,ROUND((LineItem.Quantity *LineItem.Rate),2 ) as BasicValue ,ROUND((After_CGST + After_SGST + After_IGST),2)as Taxamount
|
|
,TotalValue,After_CGST,After_SGST,After_IGST,otherallowance,LineItem.CostCenterCode,sup.SupplierName,sup.Address,POMaster.DeliveryAddress,POMaster.DeliveryDate,POMaster.Status,POMaster.PODate,POMaster.PONO,POMaster.ServiceDescription,ReqMat.NumberOfService,ReqMat.Service_Period,ReqMat.Schedule_Type,Payment.PaymentID,Payment.PaymentTerms FROM
|
|
T_PurchaseOrder_LineItem LineItem
|
|
join T_MaterialMaster Mat on Mat.MaterialCode = LineItem.MaterialCode
|
|
join T_Service_Tax Tax on Tax.LineItemNo = LineItem.LineItemNo
|
|
join T_PurchaseOrder_Master POMaster on POMaster.PONO = LineItem.PONO
|
|
join T_SupplierDetailsN sup on sup.SupplierID = POMaster.SupplierID
|
|
join T_Requestion_Master ReqMat on ReqMat.ReqNo = LineItem.ReqNo
|
|
join T_PaymentTerms Payment on Payment.PaymentID = POMaster.PaymentTerms
|
|
where LineItem.PONO =?';
|
|
|
|
$query = $this->db->query($subQuery,array($PONO));
|
|
|
|
return $query->result();
|
|
|
|
|
|
}
|
|
|
|
function GetServicePurchaseOrderAmendDetailsforPdfprint($PONO = '')
|
|
{
|
|
|
|
|
|
|
|
$subQuery ='SELECT distinct LineItem.LineItemNo,LineItem.ServiceMaterialDescription,ReqNo,Mat.MaterialCode,Mat.MaterialName,
|
|
Mat.UOM,Quantity,Rate,ROUND((Quantity *Rate),2 ) as BasicValue ,POMaster.AmendedDetails,LineItem.AmendedDetails as lineamenddetails,
|
|
ROUND(( Tax.After_SGST + Tax.After_CGST + Tax.After_IGST ) ,2)as Taxamount ,
|
|
TotalValue,Tax.*,LineItem.CostCenterCode ,POMaster.*,sup.SupplierName,sup.Address
|
|
FROM T_PurchaseOrder_LineItem LineItem
|
|
join T_MaterialMaster Mat on Mat.MaterialCode = LineItem.MaterialCode
|
|
join T_Service_Tax Tax on Tax.LineItemNo = LineItem.LineItemNo
|
|
join T_PurchaseOrder_Master POMaster on POMaster.PONO = LineItem.PONO
|
|
join T_SupplierDetailsN sup on sup.SupplierID = POMaster.SupplierID
|
|
where LineItem.PONO =?';
|
|
|
|
$query = $this->db->query($subQuery,array($PONO));
|
|
|
|
return $query->result();
|
|
|
|
|
|
}
|
|
|
|
// This Method to get the Revenue PO Child Details for Edit the Item
|
|
function GetRevenuePurchaseOrderDetails($PONO = '')
|
|
{
|
|
|
|
$subQuery ='SELECT distinct LineItem.LineItemNo,Req.ReqNo,Mat.MaterialCode,Mat.MaterialName,Mat.UOM,Quantity,Rate,Req.Status,ROUND((Quantity *Rate),2 ) as BasicValue , ROUND(((AfterPackagingValue + AfterFreightValue + AfterSGST + AfterCGST +
|
|
AfterIGST + Insurance)) ,2)as Taxamount ,TotalValue,Tax.*,Req.CostCenterCode,Dept.DepartmentName
|
|
FROM T_PurchaseOrder_LineItem LineItem
|
|
join T_MaterialMaster Mat on Mat.MaterialCode = LineItem.MaterialCode
|
|
join T_Revenue_Tax Tax on Tax.LineItemNo = LineItem.LineItemNo
|
|
join T_Requestion_Master Req on Req.ReqNo = LineItem.ReqNo
|
|
join T_Employee_Details emp on Req.Requestedby = emp.EmpID
|
|
join T_DepartmentDetails Dept on emp.Departmentcode = Dept.DEPCode
|
|
where LineItem.PONO =?';
|
|
|
|
$query = $this->db->query($subQuery,array($PONO));
|
|
|
|
return $query->result();
|
|
|
|
|
|
}
|
|
|
|
// This Method to get the Revenue PO Child Details for Edit the Item
|
|
function GetRevenuePurchaseOrderDetailsForPDF($PONO = '')
|
|
{
|
|
|
|
$subQuery ='SELECT distinct LineItem.LineItemNo,ReqNo,Mat.MaterialCode,Mat.MaterialName,
|
|
Mat.UOM,Quantity,Rate,ROUND((Quantity *Rate),2 ) as BasicValue ,
|
|
ROUND(((AfterPackagingValue + AfterFreightValue + AfterSGST + AfterCGST +
|
|
AfterIGST + Insurance)) ,2)as Taxamount ,
|
|
TotalValue,Tax.*,LineItem.CostCenterCode ,POMaster.*,sup.SupplierName,sup.Address
|
|
FROM T_PurchaseOrder_LineItem LineItem
|
|
join T_MaterialMaster Mat on Mat.MaterialCode = LineItem.MaterialCode
|
|
join T_Revenue_Tax Tax on Tax.LineItemNo = LineItem.LineItemNo
|
|
join T_PurchaseOrder_Master POMaster on POMaster.PONO = LineItem.PONO
|
|
join T_SupplierDetailsN sup on sup.SupplierID = POMaster.SupplierID
|
|
where LineItem.PONO =?';
|
|
|
|
$query = $this->db->query($subQuery,array($PONO));
|
|
|
|
return $query->result();
|
|
|
|
|
|
}
|
|
// This Method to get the Revenue PO Child Details for Edit the Item
|
|
function GetRevenuePurchaseOrderDetailsForAmendPDF($PONO = '')
|
|
{
|
|
|
|
$subQuery ='SELECT distinct LineItem.LineItemNo,ReqNo,Mat.MaterialCode,Mat.MaterialName,
|
|
Mat.UOM,Quantity,Rate,ROUND((Quantity *Rate),2 ) as BasicValue ,
|
|
ROUND(((AfterPackagingValue + AfterFreightValue + AfterSGST + AfterCGST +
|
|
AfterIGST + Insurance)) ,2)as Taxamount,
|
|
TotalValue,Tax.*,LineItem.CostCenterCode ,POMaster.*,sup.SupplierName,sup.Address,LineItem.AmendedDetails as LineAmend
|
|
FROM T_PurchaseOrder_LineItem LineItem
|
|
join T_MaterialMaster Mat on Mat.MaterialCode = LineItem.MaterialCode
|
|
join T_Revenue_Tax Tax on Tax.LineItemNo = LineItem.LineItemNo
|
|
join T_PurchaseOrder_Master POMaster on POMaster.PONO = LineItem.PONO
|
|
join T_SupplierDetailsN sup on sup.SupplierID = POMaster.SupplierID
|
|
where LineItem.PONO =?';
|
|
|
|
$query = $this->db->query($subQuery,array($PONO));
|
|
|
|
return $query->result();
|
|
|
|
|
|
}
|
|
|
|
function GetImportPurchaseOrderDetailsForPDF($PONO = '')
|
|
{
|
|
|
|
// $subQuery ='SELECT distinct LineItem.LineItemNo,LineItem.ReqNo,Mat.MaterialCode,Mat.MaterialName,
|
|
// Mat.UOM,Quantity,ReqMas.Requestedby,Rate,ROUND((RMCIncludingCustomersPerKG*Quantity),2)as Taxamount,
|
|
// ProductPrice,Tax.*,LineItem.CostCenterCode , POMaster.*,sup.SupplierName,sup.Address
|
|
// FROM T_PurchaseOrder_LineItem LineItem
|
|
// join T_Requestion_Master ReqMas on ReqMas.ReqNo=LineItem.ReqNo
|
|
// join T_MaterialMaster Mat on Mat.MaterialCode = LineItem.MaterialCode
|
|
// join T_Import_Tax Tax on Tax.LineItemNo = LineItem.LineItemNo
|
|
// join T_PurchaseOrder_Master POMaster on POMaster.PONO = LineItem.PONO
|
|
// join T_SupplierDetailsN sup on sup.SupplierID = POMaster.SupplierID
|
|
// where LineItem.PONO =?';
|
|
|
|
$subQuery='SELECT distinct LineItem.LineItemNo,LineItem.ReqNo,Mat.MaterialCode,Mat.MaterialName,Import_DispatchDetails,
|
|
Mat.UOM,Quantity,ReqMas.Requestedby,Rate,ROUND((RMCIncludingCustomersPerKG*Quantity),2)as Taxamount ,
|
|
ProductPrice,Tax.*,LineItem.CostCenterCode , POMaster.*,sup.SupplierName,sup.Address,LineItem.AmendedDetails as LineAmend
|
|
FROM T_PurchaseOrder_LineItem LineItem
|
|
join T_Requestion_Master ReqMas on ReqMas.ReqNo=LineItem.ReqNo
|
|
join T_MaterialMaster Mat on Mat.MaterialCode = LineItem.MaterialCode
|
|
join T_Import_Tax Tax on Tax.LineItemNo = LineItem.LineItemNo
|
|
join T_PurchaseOrder_Master POMaster on POMaster.PONO = LineItem.PONO
|
|
join T_SupplierDetailsN sup on sup.SupplierID = POMaster.SupplierID
|
|
where LineItem.PONO =?';
|
|
|
|
$query = $this->db->query($subQuery,array($PONO));
|
|
|
|
return $query->result();
|
|
|
|
|
|
}
|
|
|
|
|
|
function GetCurrencyDetail($Currency='')
|
|
{
|
|
|
|
$subQuery='SELECT * from T_Currency_Details where Currency_Code=?';
|
|
$query=$this->db->query($subQuery,array($Currency));
|
|
//print_r($query);
|
|
return $query->result();
|
|
|
|
}
|
|
|
|
|
|
function GerRequesterName($Requester='')
|
|
{
|
|
$subQuery='SELECT EmpID,FirstName,Departmentcode from T_Employee_Details where EmpID=?';
|
|
|
|
$query=$this->db->query($subQuery,array($Requester));
|
|
|
|
return $query->result();
|
|
}
|
|
|
|
|
|
function GerRequesterDep($Depcode='')
|
|
{
|
|
$subQuery='SELECT DepartmentName from T_DepartmentDetails where DEPCode=?';
|
|
$query=$this->db->query($subQuery,array($Depcode));
|
|
|
|
return $query->result();
|
|
|
|
}
|
|
|
|
function GerCurrencyCodeName($Currencycode='')
|
|
{
|
|
$subQuery='SELECT * from T_Currency_Details where Currency_Code=?';
|
|
$query=$this->db->query($subQuery,array($Currencycode));
|
|
//print_r($this->db->last_query());
|
|
return $query->result();
|
|
|
|
}
|
|
|
|
|
|
function GetPOStatus($Status='')
|
|
{
|
|
$subQuery='SELECT StatusName from T_Status where StatusCode=?';
|
|
$query=$this->db->query($subQuery,array($Status));
|
|
return $query->result();
|
|
|
|
}
|
|
|
|
|
|
function GetPaymentTerms($PONO='')
|
|
{
|
|
$subQuery='SELECT PaymentTerms from T_PurchaseOrder_Master where PONO=?';
|
|
$query=$this->db->query($subQuery,array($PONO));
|
|
//print_r($query);
|
|
return $query->result();
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// function getSupplierPayment($Currency='')
|
|
// {
|
|
|
|
// $subQuery='select distinct PaymentTerms from T_SupplierDetailsN';
|
|
// $query=$this->db->query($subQuery,array($Currency));
|
|
// //print_r($this->db->last_query());
|
|
// return $query->result();
|
|
|
|
// }
|
|
|
|
function getSupplierPayment($Config_ID='')
|
|
{
|
|
|
|
// $subQuery='select distinct PaymentTerms from T_SupplierDetailsN';
|
|
$subQuery='select ConfigValue from T_ConfigDetails where Config_ID=?';
|
|
$query=$this->db->query($subQuery,array($Config_ID));
|
|
//print_r($this->db->last_query());
|
|
return $query->result();
|
|
|
|
}
|
|
|
|
function GetWorkStatus($Config_ID='')
|
|
{
|
|
$subQuery = 'select ConfigValue from T_ConfigDetails where Config_ID=?';
|
|
$query=$this->db->query($subQuery,array($Config_ID));
|
|
//print_r($query);
|
|
return $query->result();
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
function GetImportPurchaseOrderDetails($PONO = '')
|
|
{
|
|
|
|
$subQuery ='SELECT distinct LineItem.LineItemNo,Req.ReqNo,Mat.MaterialCode,Mat.MaterialName,
|
|
Mat.UOM,Quantity,Rate,Req.Status,ROUND((Quantity *Rate),2 ) as BasicValue,ReceivedQuantity,
|
|
QuantityRejected,ROUND(ReceivedQuantity-QuantityRejected)as PendingQty,
|
|
ROUND((RMCIncludingCustomersPerKG*Quantity),2)as Taxamount,LandingCharge,HighSeasSalesCharge,CustomDuty,ExciseDuty,ExciseDutyEdCess,CustomEdCess,POMast.ExchangeRate,AfterLandingCharge,AfterHighSeasSalesCharge,AfterCustomDuty,AfterExciseDuty,AfterExciseDutyEdCess,AddlExciseDuty,AfterAddlExciseDuty,Grossdutypayable,AvailableModvat,Grossexpensesduetocustomduty,purchaseratePerKG,CustomDutyExpensesPerKG,RMCIncludingCustomersPerKG,QuantityKG,BasicPriceInMTon,ProductPrice,CustomSHCess,AfterCustomSHCess,AfterExciseDutySHCess,ExciseDutySHCess,AfterCustomEdCess,ROUND((Quantity *Rate)+(RMCIncludingCustomersPerKG*Quantity),2)as TotalOrderValue,ROUND((POMast.ExchangeRate*BasicPriceInMTon),2) as BasicINRValue,TotalValue,CurrencyType,ReceivedQuantity,
|
|
|
|
Req.CostCenterCode,Dept.DepartmentName FROM T_PurchaseOrder_LineItem LineItem
|
|
join T_PurchaseOrder_Master POMast on POMast.PONO = LineItem.PONO
|
|
join T_MaterialMaster Mat on Mat.MaterialCode = LineItem.MaterialCode
|
|
join T_Import_Tax Tax on Tax.LineItemNo = LineItem.LineItemNo
|
|
join T_Requestion_Master Req on Req.ReqNo = LineItem.ReqNo
|
|
join T_Employee_Details emp on Req.Requestedby = emp.EmpID
|
|
|
|
left join T_MRIR_Details Det on Det.MaterialCode=LineItem.MaterialCode
|
|
|
|
join T_DepartmentDetails Dept on emp.Departmentcode = Dept.DEPCode where LineItem.PONO =?';
|
|
//print_r($subQuery);
|
|
|
|
$query = $this->db->query($subQuery,array($PONO));
|
|
|
|
return $query->result();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
function GetCurrencytype()
|
|
{
|
|
|
|
$subQuery = 'select * from T_Currency_Details';
|
|
|
|
$query = $this->db->query($subQuery);
|
|
|
|
return $query->result();
|
|
}
|
|
|
|
function GetINRCurrencytype($Currency_Code='')
|
|
{
|
|
$subQuery='select * from T_Currency_Details where Currency_Code=?';
|
|
$query=$this->db->query($subQuery,array($Currency_Code));
|
|
//print_r($this->db->last_query());
|
|
return $query->result();
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// To Update the PO
|
|
function updatePOMaster($PONO,$PODetails)
|
|
{
|
|
$this->db->where('PONO', $PONO);
|
|
$this->db->update('T_PurchaseOrder_Master', $PODetails);
|
|
|
|
return TRUE;
|
|
}
|
|
|
|
|
|
// To update Parent PO as Amended PO
|
|
function updateAmendPOMaster($PONO,$PODetail)
|
|
{
|
|
//echo $PONO."from model";
|
|
|
|
|
|
$this->db->where('PONO', $PONO);
|
|
$this->db->update('T_PurchaseOrder_Master', $PODetail);
|
|
$insert_id = $this->db->affected_rows();
|
|
|
|
return $insert_id;
|
|
}
|
|
/**
|
|
* This function is used to check the Line Item is already available in the database
|
|
* @return array $result : This is result of the query
|
|
*/
|
|
function LineItemExists($LineItemNo)
|
|
{
|
|
$this->db->select('LineItemNo,TaxID');
|
|
$this->db->from('T_Service_Tax');
|
|
$this->db->where('LineItemNo ',$LineItemNo );
|
|
//$this->db->where('Requestedby ',$ReqBy );
|
|
$query = $this->db->get();
|
|
|
|
if ($query->num_rows > 0) {
|
|
//echo $result->num_rows;
|
|
return $query->result_array();
|
|
}
|
|
}
|
|
/**
|
|
* This function is used to check the Revenue Line Item is already available in the database
|
|
* @return array $result : This is result of the query
|
|
*/
|
|
function LineItemExistsinRevenueTax($LineItemNo)
|
|
{
|
|
$this->db->select('LineItemNo');
|
|
$this->db->from('T_Revenue_Tax');
|
|
$this->db->where('LineItemNo ',$LineItemNo );
|
|
$query = $this->db->get();
|
|
|
|
if ($query->num_rows > 0) {
|
|
return $query->result_array();
|
|
}
|
|
}
|
|
|
|
|
|
function LineItemExistsinImportTax($LineItemNo)
|
|
{
|
|
$this->db->select('LineItemNo');
|
|
$this->db->from('T_Import_Tax');
|
|
$this->db->where('LineItemNo ',$LineItemNo );
|
|
$query = $this->db->get();
|
|
|
|
if ($query->num_rows > 0) {
|
|
return $query->result_array();
|
|
}
|
|
}
|
|
// To Update the PO Line Item
|
|
function updatePOLineItem($PONO,$LineItemNo,$PODetails)
|
|
{
|
|
$this->db->where('PONO', $PONO);
|
|
$this->db->where('LineItemNo', $LineItemNo);
|
|
$this->db->update('T_PurchaseOrder_LineItem', $PODetails);
|
|
|
|
return TRUE;
|
|
}
|
|
/*// To Update the Service Tax Item */
|
|
function updateServiceTax($LineItemNo,$PODetails)
|
|
{
|
|
|
|
$this->db->where('LineItemNo', $LineItemNo);
|
|
$this->db->update('T_Service_Tax', $PODetails);
|
|
|
|
// print_r($this->db->last_query());
|
|
|
|
return TRUE;
|
|
}
|
|
|
|
/*// To Update the Revenue Tax Item */
|
|
function updateRevenueTax($LineItemNo,$PODetails)
|
|
{
|
|
$this->db->where('LineItemNo', $LineItemNo);
|
|
$this->db->update('T_Revenue_Tax', $PODetails);
|
|
|
|
// print_r($this->db->last_query());
|
|
|
|
return TRUE;
|
|
}
|
|
|
|
function updateImportTax($LineItemNo,$PODetails)
|
|
{
|
|
$this->db->where('LineItemNo', $LineItemNo);
|
|
$this->db->update('T_Import_Tax', $PODetails);
|
|
|
|
// print_r($this->db->last_query());
|
|
|
|
return TRUE;
|
|
}
|
|
|
|
function getLastInsertedPO()
|
|
{
|
|
$this->db->select('max(PONO) as PO');
|
|
$this->db->from('T_PurchaseOrderDetails');
|
|
$query = $this->db->get();
|
|
|
|
return $query->result_array();
|
|
}
|
|
|
|
|
|
/* This Method to get all the Department name for the requistion */
|
|
function getDepartmentListForAllReq()
|
|
{
|
|
$subQuery ='SELECT DISTINCT DEPT.DEPCode,DEPT.DepartmentName FROM T_Requestion_Master REQ
|
|
JOIN T_Employee_Details EMP ON REQ.Requestedby = EMP.EmpID
|
|
JOIN T_DepartmentDetails DEPT ON EMP.Departmentcode = DEPT.DEPCode WHERE REQ.Status not in(?,?,?,?)';
|
|
|
|
$query = $this->db->query($subQuery,array(REQ_DRAFT,REQ_PENDING_APPROVAL,REQ_DELETED,REQ_REJECTED));
|
|
//print_r($query);
|
|
return $query->result();
|
|
}
|
|
/*
|
|
This Method to get all department list
|
|
*/
|
|
function getDepartmentAllList()
|
|
{
|
|
$subQuery ='SELECT DISTINCT DEPCode,DepartmentName FROM T_DepartmentDetails';
|
|
|
|
$query = $this->db->query($subQuery);
|
|
//print_r($query);
|
|
return $query->result();
|
|
}
|
|
|
|
|
|
function getStatusListforAllReq()
|
|
{
|
|
$subQuery ='SELECT DISTINCT STAT.StatusCode, STAT.StatusName FROM T_Requestion_Master REQ
|
|
JOIN T_Status STAT on REQ.Status = STAT.StatusCode where STAT.StatusCode not in (?,?,?,?)';
|
|
$query = $this->db->query($subQuery,array(REQ_DRAFT,REQ_PENDING_APPROVAL,REQ_DELETED,REQ_REJECTED));
|
|
|
|
// print_r( $this->db->last_query());
|
|
|
|
return $query->result();
|
|
}
|
|
|
|
function getStatusByDepartment($DepNo='')
|
|
{
|
|
|
|
$subQuery ='SELECT DISTINCT STAT.StatusCode ,STAT.StatusName FROM T_Requestion_Master REQ
|
|
JOIN T_Employee_Details EMP ON REQ.Requestedby = EMP.EmpID
|
|
JOIN T_DepartmentDetails DEPT ON EMP.Departmentcode = DEPT.DEPCode
|
|
JOIN T_Status STAT ON REQ.Status = STAT.StatusCode
|
|
WHERE DEPT.DEPCode=? AND REQ.Status NOT IN (?,?,?,?)';
|
|
$query = $this->db->query($subQuery,array($DepNo,REQ_DRAFT,REQ_PENDING_APPROVAL,REQ_DELETED,REQ_REJECTED));
|
|
|
|
return $query->result_array();
|
|
}
|
|
|
|
function getRequistionListbySearch($Depid='',$Status='',$FromDate='',$ToDate='')
|
|
{
|
|
$subQuery =' SELECT ReqNo,ReqType,Requestedby,EMP.FirstName,EMP.Designation,STAT.StatusCode ,STAT.StatusName,ReqDate,DEPT.DEPCode,DEPT.DepartmentName FROM T_Requestion_Master REQ
|
|
JOIN T_Employee_Details EMP ON REQ.Requestedby = EMP.EmpID
|
|
JOIN T_DepartmentDetails DEPT ON EMP.Departmentcode = DEPT.DEPCode
|
|
JOIN T_Status STAT on REQ.Status = STAT.StatusCode
|
|
where REQ.Status NOT IN (?,?,?,?,?)';
|
|
|
|
$appendQuery = $subQuery ;
|
|
|
|
if($Depid != '' && $Status != '' && $FromDate != '' && $ToDate != '')
|
|
{
|
|
$appendQuery .= ' AND DEPT.DEPCode=? AND STAT.StatusCode=? AND ReqDate >= ? AND ReqDate <= ?';
|
|
//echo "$appendQuery";die();
|
|
$query = $this->db->query($appendQuery,array(REQ_DRAFT,REQ_PENDING_APPROVAL,REQ_DELETED,REQ_REJECTED,REQ_PO_CREATED,$Depid ,$Status,$FromDate,$ToDate));
|
|
//print_r($this->db->last_query());
|
|
return $query->result_array();
|
|
}
|
|
else if($Depid != '' && $Status == '' && $FromDate == '' && $ToDate == '')
|
|
{
|
|
$appendQuery .= ' AND DEPT.DEPCode=?';
|
|
|
|
$query = $this->db->query($appendQuery,array(REQ_DRAFT,REQ_PENDING_APPROVAL,REQ_DELETED,REQ_REJECTED,REQ_PO_CREATED,$Depid));
|
|
//print_r($this->db->last_query());
|
|
return $query->result_array();
|
|
}
|
|
else if($Depid == '' && $Status != '' && $FromDate == '' && $ToDate == '')
|
|
{
|
|
$appendQuery .= ' AND STAT.StatusCode=?';
|
|
|
|
$query = $this->db->query($appendQuery,array(REQ_DRAFT,REQ_PENDING_APPROVAL,REQ_DELETED,REQ_REJECTED,REQ_PO_CREATED,$Status));
|
|
//print_r($this->db->last_query());
|
|
return $query->result_array();
|
|
}
|
|
else if($Depid == '' && $Status == '' && $FromDate != '' && $ToDate != '')
|
|
{
|
|
$appendQuery .= ' AND ReqDate >= ? AND ReqDate <= ?';
|
|
|
|
$query = $this->db->query($appendQuery,array(REQ_DRAFT,REQ_PENDING_APPROVAL,REQ_DELETED,REQ_REJECTED,REQ_PO_CREATED,$FromDate,$ToDate));
|
|
//print_r($this->db->last_query());
|
|
return $query->result_array();
|
|
}
|
|
else if($Depid != '' && $Status != '' && $FromDate == '' && $ToDate == '')
|
|
{
|
|
$appendQuery .= ' AND DEPT.DEPCode=? AND STAT.StatusCode=?';
|
|
|
|
$query = $this->db->query($appendQuery,array(REQ_DRAFT,REQ_PENDING_APPROVAL,REQ_DELETED,REQ_REJECTED,REQ_PO_CREATED,$Depid ,$Status));
|
|
// print_r($this->db->last_query());
|
|
return $query->result_array();
|
|
}
|
|
else if($Depid != '' && $Status == '' && $FromDate != '' && $ToDate != '')
|
|
{
|
|
$appendQuery .= ' AND DEPT.DEPCode=? AND ReqDate >= ? AND ReqDate <= ?';
|
|
|
|
$query = $this->db->query($appendQuery,array(REQ_DRAFT,REQ_PENDING_APPROVAL,REQ_DELETED,REQ_REJECTED,REQ_PO_CREATED,$Depid ,$FromDate,$ToDate));
|
|
//print_r($this->db->last_query());
|
|
return $query->result_array();
|
|
}
|
|
else if($Depid == '' && $Status != '' && $FromDate != '' && $ToDate != '')
|
|
{
|
|
$appendQuery .= ' AND STAT.StatusCode=? AND ReqDate >= ? AND ReqDate <= ?';
|
|
|
|
$query = $this->db->query($appendQuery,array(REQ_DRAFT,REQ_PENDING_APPROVAL,REQ_DELETED,REQ_REJECTED,REQ_PO_CREATED,$Status ,$FromDate,$ToDate));
|
|
// print_r($this->db->last_query());
|
|
return $query->result_array();
|
|
}
|
|
else
|
|
{
|
|
$query = $this->db->query($subQuery,array(REQ_DRAFT,REQ_PENDING_APPROVAL,REQ_DELETED,REQ_REJECTED,REQ_PO_CREATED));
|
|
//print_r($this->db->last_query());
|
|
return $query->result();
|
|
}
|
|
|
|
}
|
|
|
|
function UpdateRequistItemStatus()
|
|
{
|
|
$query = $this->db->query("update T_Requestion_Details REQ
|
|
JOIN T_PurchaseOrder_LineItem line ON REQ.ReqNo = line.ReqNo
|
|
JOIN T_PurchaseOrder_Master PO ON PO.PONO = line.PONO
|
|
set REQ.Status = CASE WHEN REQ.Quantity = line.Quantity THEN 'ST022' WHEN REQ.Quantity > line.Quantity THEN 'ST023' ELSE 'ST003' END ,
|
|
REQ.updatedOn= CURRENT_TIMESTAMP
|
|
where PO.Status ='".PO_CREATED."'");
|
|
|
|
//$query ->next_result();
|
|
|
|
}
|
|
function UpdateRequistionStatus()
|
|
{
|
|
$result = $this->db-> query("CALL P_UPDATE_REQUISTIONSTATUS_New()") or die(mysql_error());
|
|
|
|
$result ->next_result();
|
|
|
|
}
|
|
/**
|
|
* This function is used to delete the Line item from details into Database
|
|
* @return array $result : This is result of the query
|
|
*/
|
|
function DeletePOLineItem( $LineItem='',$ReqNo='',$MaterialCode='')
|
|
{
|
|
$this->db->where('LineItemNo', $LineItem);
|
|
$this->db->where('ReqNo', $ReqNo);
|
|
$this->db->where('MaterialCode', $MaterialCode);
|
|
$this->db->delete('T_PurchaseOrder_LineItem');
|
|
|
|
return TRUE;
|
|
}
|
|
|
|
/**
|
|
* This function is used to delete the Revenue item from details into Database
|
|
* @return array $result : This is result of the query
|
|
*/
|
|
function DeletePORevenueTax( $LineItem='')
|
|
{
|
|
$this->db->where('LineItemNo', $LineItem);
|
|
$this->db->delete('T_Revenue_Tax');
|
|
|
|
return TRUE;
|
|
}
|
|
|
|
/**
|
|
* This function is used to delete Service Tax from details into Database
|
|
* @return array $result : This is result of the query
|
|
*/
|
|
function DeletePOServiceTax( $LineItem='')
|
|
{
|
|
$this->db->where('LineItemNo', $LineItem);
|
|
$this->db->delete('T_Service_Tax');
|
|
|
|
return TRUE;
|
|
}
|
|
|
|
|
|
function DeletePOImportTax( $LineItem='')
|
|
{
|
|
$this->db->where('LineItemNo', $LineItem);
|
|
$this->db->delete('T_Import_Tax');
|
|
|
|
return TRUE;
|
|
}
|
|
|
|
/**
|
|
* This function is used to get the List of PO details to the approver
|
|
* @return array $result : This is result of the query
|
|
join T_DepartmentDetails Dept on emp.Departmentcode = Dept.DEPCode
|
|
*/
|
|
function getPOList($Amendment)
|
|
{
|
|
|
|
$this->db->distinct();
|
|
$this->db->select('mast.PONO,mast.TotalOrderValue,st.StatusCode,st.StatusName,emp.FirstName,mast.CreatedDate,ccm.CostCenterName,mast.POType as ReqType,bud.BudgetAmount,mast.Remarks');
|
|
$this->db->from('T_PurchaseOrder_Master mast');
|
|
$this->db->join('T_Status st', 'st.StatusCode=mast.Status');
|
|
$this->db->join('tbl_users tbl', 'mast.createdby=tbl.userid');
|
|
$this->db->join('T_Employee_Details as emp', 'emp.empid=tbl.empid');
|
|
$this->db->join('T_PurchaseOrder_LineItem req', 'req.PONO= mast.PONO');
|
|
$this->db->join('T_Requestion_Master rmast','rmast.ReqNo=req.ReqNo');
|
|
$this->db->join('T_CostCenter_Budget bud','bud.CostCenterCode = req.CostCenterCode and bud.BudgetType = rmast.ReqType');
|
|
$this->db->join('T_CostCenter_Master ccm','ccm.CostCenterCode = req.CostCenterCode and ccm.CostCenterCode = bud.CostCenterCode');
|
|
// $this->db->where('mast.Status',PO_AMENDED); // EMERGENGY PO
|
|
if($Amendment=='A'){ //A- Approved
|
|
$this->db->or_where('mast.Status',PO_CREATED);//PO CREATED
|
|
$this->db->or_where('mast.Status',PO_ONHOLD);//ON HOLD
|
|
$this->db->or_where('mast.Status',PO_AWAITING_RELEASE);// PO APPROVED
|
|
$this->db->or_where('mast.Status',PO_RELEASED);//PO RELEASED
|
|
$this->db->or_where('mast.Status',REQITEM_Emergency_PO_CREATED); // EMERGENGY PO
|
|
// $this->db->or_where('mast.Status',PO_AMENDED); // EMERGENGY PO
|
|
}
|
|
else if($Amendment=='R'){ // R -RELEASED
|
|
$this->db->or_where('mast.Status',PO_AWAITING_RELEASE);// PO APPROVED
|
|
$this->db->or_where('mast.Status',PO_RELEASED);
|
|
}
|
|
$result=$this->db->get();
|
|
// print_r($this->db->last_query());
|
|
return $result->result();
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
function UpdatePO($store, $PONO)
|
|
{
|
|
|
|
$this->db->where('PONO', $PONO);
|
|
$this->db->update('T_PurchaseOrder_Master', $store);
|
|
|
|
return TRUE;
|
|
}
|
|
|
|
function GetReleasedDetails($PONO){
|
|
$this->db->select('mast.ReleasedOn,re.FirstName');
|
|
$this->db->from('T_PurchaseOrder_Master mast');
|
|
$this->db->join('tbl_users tbl','mast.ReleasedBy=tbl.userid');
|
|
$this->db->join('T_Employee_Details re','re.EmpID=tbl.EmpID');
|
|
$this->db->where('mast.PONO',$PONO);
|
|
$result=$this->db->get();
|
|
//print_r($this->db->last_query());
|
|
//die();
|
|
return $result->result();
|
|
|
|
}
|
|
//This is get the capital po list for edit
|
|
|
|
function getCapitalPurchaseOrderDetails($PONO = '')
|
|
{
|
|
|
|
$subQuery ='SELECT distinct LineItem.LineItemNo,Req.ReqNo,Mat.MaterialCode,Mat.MaterialName,
|
|
Mat.UOM,Quantity,Rate,Req.Status,ROUND((ServiceTax.ServiceTax + ServiceTax.EducessTax + ServiceTax.SecHigherEducessTax + ServiceTax.KrishiKalyantax + ServiceTax.SwachhBharattax),2) as ServiceTaxamount
|
|
,ServiceTax.TotalValue,ServiceTax,EducessTax,ServiceTax.SecHigherEducessTax,ServiceTax.KrishiKalyantax,ServiceTax.SwachhBharattax,
|
|
ROUND((RMCIncludingCustomersPerKG*Quantity),2)as Taxamount,LandingCharge,HighSeasSalesCharge,CustomDuty,ExciseDuty,ExciseDutyEdCess,CustomEdCess,POMast.ExchangeRate,POMast.ExchangeRateCalculatedon,POMast.TotalOrderValue as BasicValue,POMast.CapitalRange,AfterLandingCharge,AfterHighSeasSalesCharge,AfterCustomDuty,AfterExciseDuty,AfterExciseDutyEdCess,AddlExciseDuty,AfterAddlExciseDuty,Grossdutypayable,AvailableModvat,Grossexpensesduetocustomduty,purchaseratePerKG,CustomDutyExpensesPerKG,RMCIncludingCustomersPerKG,QuantityKG,BasicPriceInMTon,ProductPrice,CustomSHCess,AfterCustomSHCess,AfterExciseDutySHCess,ExciseDutySHCess,AfterCustomEdCess,ROUND((POMast.ExchangeRate*BasicPriceInMTon*Quantity),2) as BasicINRValue,Tax.TotalValue as ImportTotalValue,POMast.CurrencyType,
|
|
|
|
Req.CostCenterCode,Dept.DepartmentName FROM T_PurchaseOrder_LineItem LineItem
|
|
join T_PurchaseOrder_Master POMast on POMast.PONO = LineItem.PONO
|
|
join T_MaterialMaster Mat on Mat.MaterialCode = LineItem.MaterialCode
|
|
join T_Service_Tax ServiceTax on ServiceTax.LineItemNo = LineItem.LineItemNo
|
|
join T_Import_Tax Tax on Tax.LineItemNo = LineItem.LineItemNo
|
|
join T_Requestion_Master Req on Req.ReqNo = LineItem.ReqNo
|
|
join T_Employee_Details emp on Req.Requestedby = emp.EmpID
|
|
|
|
join T_DepartmentDetails Dept on emp.Departmentcode = Dept.DEPCode where LineItem.PONO =?';
|
|
//print_r($subQuery);
|
|
|
|
$query = $this->db->query($subQuery,array($PONO));
|
|
|
|
return $query->result();
|
|
|
|
|
|
}
|
|
|
|
// This Method to get the Capital PO Details for pdf
|
|
function GetCapitalPurchaseOrderDetailsForPDF($PONO = '')
|
|
{
|
|
|
|
$subQuery ='SELECT distinct LineItem.LineItemNo,ReqNo,Mat.MaterialCode,Mat.MaterialName,
|
|
Mat.UOM,Quantity,Rate,ROUND((Quantity *Rate),2 ) as BasicValue ,
|
|
ROUND((ServiceTax + EducessTax + SecHigherEducessTax + KrishiKalyantax + SwachhBharattax),2)as Taxamount
|
|
,TotalValue,ServiceTax,EducessTax,SecHigherEducessTax,KrishiKalyantax,SwachhBharattax,CostCenterCode , POMaster.*,sup.SupplierName,sup.Address
|
|
FROM T_PurchaseOrder_LineItem LineItem
|
|
join T_MaterialMaster Mat on Mat.MaterialCode = LineItem.MaterialCode
|
|
join T_Service_Tax Tax on Tax.LineItemNo = LineItem.LineItemNo
|
|
join T_PurchaseOrder_Master POMaster on POMaster.PONO = LineItem.PONO
|
|
join T_SupplierDetailsN sup on sup.SupplierID = POMaster.SupplierID
|
|
where LineItem.PONO =?';
|
|
$query = $this->db->query($subQuery,array($PONO));
|
|
|
|
return $query->result();
|
|
|
|
|
|
}
|
|
// get requested by details
|
|
function GetRequesedByDetails($PONO){
|
|
$this->db->select('mast.CreatedBy,re.FirstName,Dept.DEPCode,Dept.DepartmentName');
|
|
$this->db->from('T_PurchaseOrder_Master mast');
|
|
$this->db->join('tbl_users tbl','mast.CreatedBy=tbl.userid');
|
|
$this->db->join('T_Employee_Details re','re.EmpID=tbl.EmpID');
|
|
$this->db->join('T_DepartmentDetails Dept', 're.Departmentcode = Dept.DEPCode');
|
|
|
|
$this->db->where('mast.PONO',$PONO);
|
|
$result=$this->db->get();
|
|
|
|
return $result->result();
|
|
|
|
}
|
|
|
|
// get domestic capital po list
|
|
|
|
|
|
function getDomesticCapitalPurchaseOrderDetails($PONO = '')
|
|
{
|
|
|
|
$subQuery ='SELECT distinct LineItem.LineItemNo,Req.ReqNo,Mat.MaterialCode,Mat.MaterialName,
|
|
Mat.UOM,Quantity,Rate,Req.Status,ROUND((ServiceTax.ServiceTax + ServiceTax.EducessTax + ServiceTax.SecHigherEducessTax + ServiceTax.KrishiKalyantax + ServiceTax.SwachhBharattax),2) as ServiceTaxamount
|
|
,ServiceTax.TotalValue,ServiceTax,EducessTax,ServiceTax.SecHigherEducessTax,ServiceTax.KrishiKalyantax,ServiceTax.SwachhBharattax,
|
|
POMast.ExchangeRate,POMast.ExchangeRateCalculatedon,POMast.TotalOrderValue as BasicValue,POMast.CapitalRange,ROUND((POMast.TotalOrderValue),2) as BasicINRValue,POMast.CurrencyType,
|
|
|
|
Req.CostCenterCode,Dept.DepartmentName FROM T_PurchaseOrder_LineItem LineItem
|
|
join T_PurchaseOrder_Master POMast on POMast.PONO = LineItem.PONO
|
|
join T_MaterialMaster Mat on Mat.MaterialCode = LineItem.MaterialCode
|
|
join T_Service_Tax ServiceTax on ServiceTax.LineItemNo = LineItem.LineItemNo
|
|
join T_Requestion_Master Req on Req.ReqNo = LineItem.ReqNo
|
|
join T_Employee_Details emp on Req.Requestedby = emp.EmpID
|
|
|
|
join T_DepartmentDetails Dept on emp.Departmentcode = Dept.DEPCode where LineItem.PONO =?';
|
|
//print_r($subQuery);
|
|
|
|
$query = $this->db->query($subQuery,array($PONO));
|
|
|
|
return $query->result();
|
|
|
|
|
|
}
|
|
//get pdf po requistion details
|
|
|
|
|
|
function GetPdfRequistionDetails($PONO){
|
|
$this->db->select('LineItem.ReqNo');
|
|
$this->db->from('T_PurchaseOrder_LineItem LineItem');
|
|
$this->db->where('LineItem.PONO',$PONO);
|
|
$result=$this->db->get();
|
|
$ReqNo='';
|
|
|
|
foreach ($result->result() as $res){
|
|
|
|
if($ReqNo==$res->ReqNo){
|
|
|
|
}
|
|
else{
|
|
$ReqNo = $res->ReqNo;
|
|
$this->db->select('ReqMast.ReqNo,ReqMast.CostCenterCode,re.FirstName,Dept.DEPCode,Dept.DepartmentName');
|
|
$this->db->from('T_Requestion_Master ReqMast');
|
|
$this->db->join('T_Employee_Details re','re.EmpID=ReqMast.Requestedby');
|
|
$this->db->join('T_DepartmentDetails Dept', 're.Departmentcode = Dept.DEPCode');
|
|
$this->db->where('ReqMast.ReqNo',$ReqNo);
|
|
$Reqresult=$this->db->get();
|
|
$Details['RequistionNo']= $Reqresult->result()[0]->ReqNo;
|
|
$Details['RequestedName']= $Reqresult->result()[0]->FirstName;
|
|
$Details['RequestedDept']= $Reqresult->result()[0]->DepartmentName;
|
|
$Details['CostCenterCode']= $Reqresult->result()[0]->CostCenterCode;
|
|
$ResultArray[]=$Details;
|
|
}
|
|
|
|
}
|
|
|
|
$RequistionDetails = $ResultArray;
|
|
return $RequistionDetails;
|
|
}
|
|
function GetLineItemReceivedQty($ParentPO,$MaterialCode)
|
|
{
|
|
$this->db->select('ReceivedQuantity');
|
|
$this->db->from('T_PurchaseOrder_LineItem');
|
|
|
|
$this->db->where('PONO',$ParentPO);
|
|
$this->db->where('MaterialCode',$MaterialCode);
|
|
$result=$this->db->get();
|
|
|
|
return $result->result_array();
|
|
}
|
|
|
|
//get paymentTerms details
|
|
|
|
function getPaymentTermsDetails($Payment_ID='')
|
|
{
|
|
|
|
|
|
$getpaymentQuery='select distinct PaymentID,PaymentTerms,Details from T_PaymentTerms';
|
|
$paymentQuery=$this->db->query($getpaymentQuery);
|
|
|
|
return $paymentQuery->result();
|
|
|
|
}
|
|
/**
|
|
* This function is used to get status in status table
|
|
|
|
*/
|
|
function getStatus($StatusType = '')
|
|
{
|
|
$this->db->select('StatusCode,StatusName ');
|
|
$this->db->from('T_Status');
|
|
$this->db->where('StatusType', $StatusType);
|
|
$query = $this->db->get();
|
|
|
|
return $query->result();
|
|
}
|
|
}
|