siddharth_application/application/models/inwardgateregister_model.php
venbatechnologies@gmail.com 7e336808ea ogr bug fix
2018-04-10 10:17:05 +05:30

483 lines
17 KiB
PHP
Executable File

<?php if(!defined('BASEPATH')) exit('No direct script access allowed');
class inwardgateregister_model extends CI_Model
{
/**
* 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
*/
/**
* 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 igrListing()
{
$this->db->select('igr.*,PO.DeliveryDate,sup.SupplierName,igr.file');
$this->db->from('T_IGR_Master igr');
$this->db->join('T_PurchaseOrder_Master PO','igr.PONO = PO.PONO');
$this->db->join('T_SupplierDetailsN` sup','PO.SupplierID = sup.SupplierID');
$this->db->order_by('igr.CreatedDate','desc');
$query = $this->db->get();
$result = $query->result();
return $result;
}
function getpurchaseorder()
{
$this->db->distinct();
$this->db->select('POM.PONO,POM.ServiceDescription,POM.DeliveryDate,sup.SupplierName,sup.Address,POM.status,OGR_Status');
$this->db->from('T_PurchaseOrder_Master POM');
$this->db->join('T_PurchaseOrder_LineItem POL', 'POL.PONO = POM.PONO');
$this->db->join('T_SupplierDetailsN sup', 'POM.SupplierID = sup.SupplierID');
$this->db->join('T_OGR_Master OGM ', 'POM.PONO = OGM.PONO_INV','left');
$this->db->where('POM.Status',PO_RELEASED);
$this->db->where('POM.POType !=',SERVICE);
$this->db->or_where('POM.Status',IGR_CREATED);
$this->db->or_where('POM.Status',MRIR_CREATED);
$this->db->or_where('POM.Status',MRIR_APPROVED);
$this->db->or_where('POM.Status',OGR_COMPLETE);
$query = $this->db->get();
$result = $query->result();
//print_r($this->db->last_query());
return $result;
}
function viewpurchaseorder($PO)
{
$subQuery ='SELECT distinct POM.PONO,POL.MaterialCode,POL.Quantity,POL.ReceivedQuantity,(POL.Quantity -POL.ReceivedQuantity ) as PendingQty,QuantityRejected,POL.PONO,MM.MaterialName,MM.UOM
from T_PurchaseOrder_Master POM
left join T_PurchaseOrder_LineItem POL on POL.PONO = POM.PONO
left join T_IGR_Master IGM on IGM.PONO =POL.PONO
left join T_IGR_Details igr on igr.MaterialCode = POL.MaterialCode and IGM.PONO =POL.PONO
left join T_MaterialMaster MM on MM.MaterialCode = POL.MaterialCode
left join T_MRIR_Master MRM on POM.PONO=MRM.PONO
left join T_MRIR_Details MRD on MRM.MRIRNO=MRD.MRIRNO and POL.MaterialCode=MRD.MaterialCode
where POM.PONO=?';// and POM.Status not in(?) ';
$query = $this->db->query($subQuery, array($PO,IGR_CREATED));
// print_r($this->db->last_query());
return $query->result();
/* $this->db->select('POM.PONO,POL.MaterialCode,POL.Quantity,POL.PONO,MM.MaterialName,MM.UOM');
$this->db->from('T_PurchaseOrder_Master POM');
$this->db->join('T_PurchaseOrder_LineItem POL', 'POL.PONO = POM.PONO','left');
$this->db->join('T_MaterialMaster MM', 'MM.MaterialCode = POL.MaterialCode','left');
$this->db->where('POM.PONO',$PO );
$this->db->where('POL.Status !=',POLINEITEM_IGR_CREATED );
$query = $this->db->get();
$result = $query->result();
$this->db->last_query();
return $result; */
}
function addigrM($igrM)
{
$this->db->trans_start();
$this->db->insert('T_IGR_Master', $igrM);
$insert_id = $this->db->affected_rows();
$this->db->trans_complete();
// print_r($this->db->last_query());
//print_r($insert_id);
if($insert_id>0)
{
$subQuery = 'select max(IGRNO) as IGRNO from T_IGR_Master';
$query = $this->db->query($subQuery);
return $query->result();
}
}
function addigrD($igrD)
{
$this->db->trans_start();
$this->db->insert('T_IGR_Details', $igrD);
$insert_id = $this->db->affected_rows();
$this->db->trans_complete();
if($insert_id>0)
{
$subQuery = 'select max(IGRItemNo) as IGRItemNo from T_IGR_Details';
$query = $this->db->query($subQuery);
return $query->result();
}
}
function viewigr($IGRNO)
{
$this->db->distinct();
$this->db->select('igr.IGRNO,igr.*,igrd.*,MM.MaterialName,MM.UOM,sup.Address,sup.SupplierName,POM.ServiceDescription,POL.Quantity');
$this->db->select('igr.IGRNO,igr.*,igrd.*,MM.MaterialName,MM.UOM,sup.Address,sup.SupplierName,POM.ServiceDescription,POL.Quantity');
$this->db->from('T_IGR_Master igr');
$this->db->join('T_IGR_Details igrd','igrd.IGRNO = igr.IGRNO');
$this->db->join('T_PurchaseOrder_Master POM','igr.PONO = POM.PONO');
$this->db->join('T_PurchaseOrder_LineItem POL','igr.PONO = POL.PONO and POL.MaterialCode=igrd.MaterialCode ');
$this->db->join('T_SupplierDetailsN sup', 'sup.SupplierID = POM.SupplierID');
$this->db->join('T_MaterialMaster MM', 'MM.MaterialCode = igrd.MaterialCode');
$this->db->where('igr.IGRNO',$IGRNO);
$query = $this->db->get();
// print_r( $this->db->last_query());
$result = $query->result();
return $result;
}
function UpdatePOLineItem($LineItem,$PONO,$MaterialCode)
{
$this->db->where('PONO', $PONO);
$this->db->where('MaterialCode', $MaterialCode);
$this->db->update('T_PurchaseOrder_LineItem', $LineItem);
return TRUE;
}
function update_OGR($PONO,$status)
{
$this->db->select('*');
$this->db->from('T_OGR_Master');
$this->db->where('PONO_INV',$PONO);
$query= $this->db->get();
if($query->num_rows!=0)
{
$this->db->where('PONO_INV',$PONO);
$ogrstatus=array('Status'=>$status);
$this->db->update('T_OGR_Master',$ogrstatus);
}
}
function UpdatePOMaster($PONO,$updatedBy)
{
$this->db->select('*');
$this->db->from('T_PurchaseOrder_LineItem');
$this->db->where('PONO',$PONO);
$this->db->where('Status !=',IGR_CREATED);
$query = $this->db->get();
if ($query->num_rows == 0) {
$this->db->where('PONO', $PONO);
$POStatus = array('status'=>IGR_CREATED,'UpdateBY'=>$updatedBy);
$this->db->update('T_PurchaseOrder_Master', $POStatus);
}
}
function updateogrpomaster($pono)
{
$this->db->select('*');
$this->db->from('T_PurchaseOrder_LineItem');
$this->db->where('PONO',$pono);
$this->db->where('OGR_Status !=','ST064');
$query = $this->db->get();
if ($query->num_rows == 0) {
$this->db->where('PONO',$pono);
$POStatus = array('status'=>'ST063');
$this->db->update('T_PurchaseOrder_Master', $POStatus);
}
}
function getPOLineItemReceivedQty($PONO,$MaterialCode)
{
$this->db->select('ReceivedQuantity');
$this->db->from('T_PurchaseOrder_LineItem');
$this->db->where('PONO',$PONO);
$this->db->where('MaterialCode',$MaterialCode);
$query = $this->db->get();
// print_r( $this->db->last_query());
$result = $query->result();
return $result;
}
function getCustomer()
{
$subQuery='select client_id,client_name from ip_clients';
$query = $this->db->query($subQuery);
//print_r( $this->db->last_query());
return $query->result();
}
function getSupplier()
{
$subQuery='select SupplierID,SupplierName from T_SupplierDetailsN';
$query = $this->db->query($subQuery);
//print_r( $this->db->last_query());
return $query->result();
}
function getOGRData()
{
$this->db->select('T_OGR_Master.*,T_OGR_Details.*,SupplierName');
$this->db->from('T_OGR_Master');
$this->db->join('T_OGR_Details','T_OGR_Details.OGRNO=T_OGR_Master.OGRNO');
$this->db->join('T_PurchaseOrder_Master','T_PurchaseOrder_Master.PONO=T_OGR_Master.PONO_INV','left');
$this->db->join('T_SupplierDetailsN','T_SupplierDetailsN.SupplierID=T_PurchaseOrder_Master.SupplierID','left');
$this->db->group_by('T_OGR_Master.OGRNO');
//$this->db->where();
$query = $this->db->get();
//print_r( $this->db->last_query());
$result = $query->result();
return $result;
}
function getOGRDataforedit($OGRNO)
{
$this->db->select('T_OGR_Master.*,SupplierName,T_OGR_Details.*');
$this->db->from('T_OGR_Master');
$this->db->join('T_OGR_Details','T_OGR_Details.OGRNO=T_OGR_Master.OGRNO');
$this->db->join('T_PurchaseOrder_Master','T_PurchaseOrder_Master.PONO=T_OGR_Master.PONO_INV','left');
$this->db->join('T_SupplierDetailsN','T_SupplierDetailsN.SupplierID=T_PurchaseOrder_Master.SupplierID','left');
$this->db->where('T_OGR_Master.OGRNO',$OGRNO);
//$this->db->group_by('T_OGR_Master.OGRNO');
$query = $this->db->get();
//print_r( $this->db->last_query());
$result = $query->result();
return $result;
}
function getOGRlineDataforedit($OGRNO)
{
$this->db->select('T_OGR_Details.*,MaterialName,ActualQuantityReceived,Quantity,QuantityRejected');
$this->db->from('T_OGR_Details');
$this->db->join('T_MaterialMaster','T_MaterialMaster.MaterialCode=T_OGR_Details.MaterialCode');
$this->db->join('T_OGR_Master','T_OGR_Master.OGRNO=T_OGR_Details.OGRNO');
$this->db->join('T_MRIR_Master','T_MRIR_Master.PONO=T_OGR_Master.PONO_INV','left');
$this->db->join('T_MRIR_Details','T_MRIR_Details.MRIRNO=T_MRIR_Master.MRIRNO and T_MRIR_Details.MaterialCode=T_OGR_Details.MaterialCode');
$this->db->join('T_PurchaseOrder_Master','T_PurchaseOrder_Master.PONO=T_MRIR_Master.PONO');
$this->db->join('T_PurchaseOrder_LineItem','T_PurchaseOrder_Master.PONO=T_PurchaseOrder_LineItem.PONO and T_OGR_Details.MaterialCode=T_PurchaseOrder_LineItem.MaterialCode');
$this->db->where('T_OGR_Details.OGRNO',$OGRNO);
$this->db->group_by('T_OGR_Details.MaterialCode');
$query = $this->db->get();
// print_r( $this->db->last_query());
$result = $query->result();
return $result;
}
function getInvoice($CustomerId)
{
$this->db->select('ip_invoices.invoice_id,invoice_number,item_product_id,item_name,item_quantity');
$this->db->from('ip_invoices');
$this->db->join('ip_invoice_items','ip_invoice_items.invoice_id = ip_invoices.invoice_id');
$this->db->join('ip_clients','ip_invoices.client_id = ip_clients.client_id');
$this->db->where('ip_invoices.client_id',$CustomerId);
$query = $this->db->get();
//print_r( $this->db->last_query());
$result = $query->result();
return $result;
}
function getPO($supplierId)
{
// $this->db->select('T_PurchaseOrder_Master.PONO');
// $this->db->from('T_PurchaseOrder_Master');
// $this->db->join('T_MRIR_Master','T_MRIR_Master.PONO= T_PurchaseOrder_Master.PONO');
// $this->db->where('T_PurchaseOrder_Master.SupplierID',$supplierId);
// $this->db->where('T_MRIR_Master.MRIRStatus','ST044');
// $this->db->group_by('T_PurchaseOrder_Master.PONO');
// $query = $this->db->get();
// // print_r( $this->db->last_query());
// $result = $query->result();
// return $result;
// $subQuery='select T_PurchaseOrder_Master.PONO from T_PurchaseOrder_Master
// join T_MRIR_Master on T_MRIR_Master.PONO= T_PurchaseOrder_Master.PONO
// where T_PurchaseOrder_Master.SupplierID=? and T_MRIR_Master.MRIRStatus=? and T_PurchaseOrder_Master.PONO not in(select PONO_INV from T_OGR_Master where OgrType=?) group by T_PurchaseOrder_Master.PONO';
$subQuery='select T_PurchaseOrder_Master.PONO from T_PurchaseOrder_Master
join T_MRIR_Master on T_MRIR_Master.PONO= T_PurchaseOrder_Master.PONO
where T_PurchaseOrder_Master.SupplierID=? and T_PurchaseOrder_Master.Status=? and T_PurchaseOrder_Master.PONO not in(select PONO_INV from T_OGR_Master where OgrType=?) group by T_PurchaseOrder_Master.PONO';
//$query= $this->db->query($subQuery, array($supplierId,ST044,PO,ST063));
$query= $this->db->query($subQuery, array($supplierId,ST044,PO));
return $query->result();
}
function getPODetails($PONO)
{
$subQuery ='select distinct T_PurchaseOrder_Master.PONO,T_PurchaseOrder_LineItem.MaterialCode,
T_PurchaseOrder_LineItem.Quantity as Oqty,T_MRIR_Details.ActualQuantityReceived,
T_MRIR_Details.QuantityRejected,MaterialName,balance_Qty
from T_PurchaseOrder_Master
join T_PurchaseOrder_LineItem on T_PurchaseOrder_LineItem.PONO = T_PurchaseOrder_Master.PONO
join T_MRIR_Master on T_MRIR_Master.PONO = T_PurchaseOrder_Master.PONO
join T_MRIR_Details on T_MRIR_Master.MRIRNO = T_MRIR_Details.MRIRNO and T_PurchaseOrder_LineItem.MaterialCode=T_MRIR_Details.MaterialCode
join T_MaterialMaster on T_MRIR_Details.MaterialCode=T_MaterialMaster.MaterialCode
left join T_OGR_Master on T_PurchaseOrder_Master.PONO=T_OGR_Master.PONO_INV
left join T_OGR_Details on T_OGR_Master.OGRNO=T_OGR_Details.OGRNO and T_PurchaseOrder_LineItem.MaterialCode= T_OGR_Details.MaterialCode
where T_PurchaseOrder_Master.PONO=?';
$query = $this->db->query($subQuery, array($PONO));
//print_r($this->db->last_query());
return $query->result();
}
function getPOmaterialDetails($PONO,$materialcode)
{
$subQuery='select distinct T_PurchaseOrder_LineItem.MaterialCode,MaterialName,T_PurchaseOrder_LineItem.Quantity as Oqty,sum( T_MRIR_Details.ActualQuantityReceived) as ActualQuantityReceived,sum( T_MRIR_Details.QuantityRejected) as QuantityRejected,balance_Qty
from T_PurchaseOrder_Master
join T_PurchaseOrder_LineItem on T_PurchaseOrder_LineItem.PONO = T_PurchaseOrder_Master.PONO
join T_MRIR_Master on T_MRIR_Master.PONO = T_PurchaseOrder_Master.PONO
join T_MRIR_Details on T_MRIR_Master.MRIRNO = T_MRIR_Details.MRIRNO and T_PurchaseOrder_LineItem.MaterialCode=T_MRIR_Details.MaterialCode
join T_MaterialMaster on T_MRIR_Details.MaterialCode=T_MaterialMaster.MaterialCode
left join T_OGR_Master on T_PurchaseOrder_Master.PONO=T_OGR_Master.PONO_INV
left join T_OGR_Details on T_OGR_Master.OGRNO=T_OGR_Details.OGRNO and T_PurchaseOrder_LineItem.MaterialCode= T_OGR_Details.MaterialCode
where T_PurchaseOrder_LineItem.PONO=? and T_PurchaseOrder_LineItem.MaterialCode=?'
;
$query = $this->db->query($subQuery, array($PONO,$materialcode));
// print_r($this->db->last_query());
return $query->result();
}
function getPOmaterial($PONO)
{
$subQuery ='select MaterialCode from T_PurchaseOrder_LineItem where PONO=?';
$query = $this->db->query($subQuery, array($PONO));
//print_r($this->db->last_query());
return $query->result();
}
function AddOGR($ogrmaster)
{
$this->db->trans_start();
$this->db->insert('T_OGR_Master', $ogrmaster);
$insert_id = $this->db->affected_rows();
$this->db->trans_complete();
// print_r($this->db->last_query());
//print_r($insert_id);
if($insert_id>0)
{
$subQuery = 'select max(OGRNO) as OGRNO from T_OGR_Master';
$query = $this->db->query($subQuery);
return $query->result();
}
}
function UpdateOGR($updateogrmaster,$OGRNO)
{
$this->db->where('OGRNO',$OGRNO);
//$this->db->where('MaterialCode', $MaterialCode);
$this->db->update('T_OGR_Master', $updateogrmaster);
return TRUE;
}
function AddOgrLine($Ogrline)
{
$this->db->trans_start();
$this->db->insert('T_OGR_Details',$Ogrline);
$insert_id = $this->db->affected_rows();
$this->db->trans_complete();
return $insert_id;
}
// function GetIGR_Details($pono)
// {
// $this->db->select('IGRNO,MRIRNO,MaterialCode,');
// $this->db->from('ip_invoices');
// $this->db->join('ip_invoice_items','ip_invoice_items.invoice_id = ip_invoices.invoice_id');
// $this->db->join('ip_clients','ip_invoices.client_id = ip_clients.client_id');
// $this->db->where('ip_invoices.client_id',$CustomerId);
// $query = $this->db->get();
// //print_r( $this->db->last_query());
// $result = $query->result();
// return $result;
// }
function GetPreSavedQty($pono,$MaterialCode)
{
$subQuery = 'select sum(OutwardQty) as totalout from T_OGR_Details join T_OGR_Master on T_OGR_Details.OGRNO=T_OGR_Master.OGRNO where T_OGR_Master.PONO_INV=? and MaterialCode=?';
$query = $this->db->query($subQuery, array($pono,$MaterialCode));
//print_r($this->db->last_query());
return $query->result();
}
function check_PO($pono)
{
$subQuery='select * from T_OGR_Master where PONO_INV=?';
$query=$this->db->query($subQuery,array($pono));
return $query->result();
}
function UpdatePOMasterOGR($postatus,$pono)
{
$this->db->where('PONO',$pono);
//$this->db->where('MaterialCode', $MaterialCode);
$this->db->update('T_PurchaseOrder_Master', $postatus);
return TRUE;
}
}