diff --git a/application/controllers/MRIRcontroller.php b/application/controllers/MRIRcontroller.php index 0c3a4ffb..c1c194c7 100755 --- a/application/controllers/MRIRcontroller.php +++ b/application/controllers/MRIRcontroller.php @@ -20,7 +20,8 @@ class MRIRcontroller extends BaseController public function __construct() { parent::__construct(); - $this->load->model('purchaseorder_model'); + $this->load->model('purchaseorder_model'); + $this->load->model('inwardgateregister_model'); $this->load->model('mrir_model'); $this->load->library('session'); $this->load->library('form_validation'); @@ -204,6 +205,9 @@ public function viewmMaterialDistributionList() $IGRDetails = array('IGRStatus'=>MRIR_CREATED,'UpdateBY'=>$CreatedBy,'UpdatedOn'=>$createddt); $this->mrir_model->UpdateIGRStatus($IGRDetails,$igrno); + + // $OGRStatus=MRIR_CREATED; + // $check_OGRPO= $this->inwardgateregister_model->update_OGR($PONO,$OGRStatus); $MRIRNO = ''; @@ -318,6 +322,9 @@ public function viewmMaterialDistributionList() $POLineItem = array('Status'=>$strStatus,'UpdateBY'=>$updateby,'UpdatedOn'=>$updateon ); $this->mrir_model->UpdatePOLineItem($POLineItem,$PONO,$MaterialCode); + + //$OGRStatus=MRIR_CREATED; + //$check_OGRPO= $this->inwardgateregister_model->update_OGR($PONO,$strStatus); } $PoMrirStatus=''; diff --git a/application/controllers/inwardgateregister.php b/application/controllers/inwardgateregister.php index 90ee79c5..b721915f 100755 --- a/application/controllers/inwardgateregister.php +++ b/application/controllers/inwardgateregister.php @@ -127,6 +127,27 @@ class inwardgateregister extends BaseController { $PONO = $this->input->post('PONO'); $data = $this->inwardgateregister_model->getPODetails($PONO); + //$data['poout'] = $this->inwardgateregister_model->getPODetails($PONO); + + echo json_encode($data); + } + + + function getPOmaterialDetails() + { + $PONO= $this->input->post('PONO'); + $materialcode= $this->input->post('materialcode'); + $data= $this->inwardgateregister_model->getPOmaterialDetails($PONO,$materialcode); + echo json_encode($data); + } + + + function getPOmaterial() + { + $PONO = $this->input->post('PONO'); + $data = $this->inwardgateregister_model->getPOmaterial($PONO); + //$data['poout'] = $this->inwardgateregister_model->getPODetails($PONO); + echo json_encode($data); } @@ -184,6 +205,8 @@ class inwardgateregister extends BaseController } } + + function addNewigr() { // echo "add"; @@ -235,6 +258,8 @@ class inwardgateregister extends BaseController $igrM = $this->inwardgateregister_model->addigrM($igr); + $OGRStatus=IGR_CREATED; + $check_OGRPO= $this->inwardgateregister_model->update_OGR($PONO,$OGRStatus); $IGRNO = ''; @@ -275,6 +300,7 @@ class inwardgateregister extends BaseController { $ItemStatus = IGR_CREATED; + } else { @@ -386,16 +412,25 @@ class inwardgateregister extends BaseController $pono =$this->input->post('pono'); //$type='PO'; $Otype='PO'; - $Status='ST063'; + //$Status='ST063'; $row= $this->input->post('rowcount'); $ogrmaster = array('OgrType'=>$Otype,'CreatedDate'=>$Date,'Driver'=>$driver - ,'PONO_INV'=>$pono,'VehicleNo'=>$vehicle,'Status'=>$Status); + ,'PONO_INV'=>$pono,'VehicleNo'=>$vehicle); //$Igr_Details= $this->inwardgateregister_model->GetIGR_Details($pono); $addogrmaster= $this->inwardgateregister_model->AddOGR($ogrmaster); + $pocheck= $this->inwardgateregister_model->check_PO($pono); + $IsPOExist=0; + + if(count($pocheck)>0) + { + $IsPOExist=1; + + } + //print_r($addogrmaster); $OGRNO = ''; @@ -415,28 +450,69 @@ class inwardgateregister extends BaseController for($i=1;$i<=$row;$i++) { + + $MaterialCode = $this->input->post('materialcode'.$i); $OutwardQty = $this->input->post('outward'.$i); $rejqty = $this->input->post('RejectedQty'.$i); $balance_Qty= $rejqty-$OutwardQty; - - // if($OutwardQty==$rejqty) - // { - $Status='ST063'; - // } - // else - // { - // $Status='ST064'; - // } + //$balance_Qty = $this->input->post('pendingoutward'.$i); + $Outwardtotal = $OutwardQty; + $allowed= $this->input->post('allowed'.$i); - $Ogrline= array('OGRNO'=>$OGRNO,'MaterialCode'=>$MaterialCode,'OutwardQty'=>$OutwardQty,'Status'=>$Status,'balance_Qty'=>$balance_Qty); + if($MaterialCode != '' && $OutwardQty !='') + { + //echo $IsPOExist; + + + // $preqty= $this->inwardgateregister_model->GetPreSavedQty($pono,$MaterialCode); + $polqty= $this->inwardgateregister_model->getPOLineItemReceivedQty($pono,$MaterialCode); + // print_r($preqty); + + $ReceivedQuantity = 0.00; + if(count($polqty)>0) + { + foreach ($polqty as $key ) + { + $ReceivedQuantity=$key->ReceivedQuantity; + } + } + + $totalReceivedqty = $ReceivedQuantity - $Outwardtotal; + + + + // if($OutwardQty==$allowed) + // { + $Status='ST063'; + // } + // else + // { + // $Status='ST064'; + // } + + + + + + $POLineItem = array('ReceivedQuantity'=>$totalReceivedqty,'OGR_Status'=>$Status); + + $this->inwardgateregister_model->UpdatePOLineItem($POLineItem,$pono,$MaterialCode); + + + $Ogrline= array('OGRNO'=>$OGRNO,'MaterialCode'=>$MaterialCode,'OutwardQty'=>$Outwardtotal,'Status'=>$Status,'balance_Qty'=>$balance_Qty); $addOgrline = $this->inwardgateregister_model->AddOgrLine($Ogrline); $updateogrmaster = array('OgrType'=>$Otype,'CreatedDate'=>$Date,'Driver'=>$driver ,'PONO_INV'=>$pono,'VehicleNo'=>$vehicle,'Status'=>$Status); $updateogrmaster= $this->inwardgateregister_model->UpdateOGR($updateogrmaster,$OGRNO); - + $postatus=array('Status'=>$Status); + + $this->inwardgateregister_model->UpdatePOMasterOGR($postatus,$pono); + + + } } diff --git a/application/models/inwardgateregister_model.php b/application/models/inwardgateregister_model.php index c6f125bc..6dadfb47 100755 --- a/application/models/inwardgateregister_model.php +++ b/application/models/inwardgateregister_model.php @@ -34,7 +34,7 @@ class inwardgateregister_model extends CI_Model function getpurchaseorder() { $this->db->distinct(); - $this->db->select('POM.PONO,POM.ServiceDescription,POM.DeliveryDate,sup.SupplierName,sup.Address,POM.status,OGM.Status as Ostatus'); + $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'); @@ -44,6 +44,7 @@ class inwardgateregister_model extends CI_Model $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(); @@ -63,11 +64,11 @@ class inwardgateregister_model extends CI_Model 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(?) '; + where POM.PONO=?';// and POM.Status not in(?) '; $query = $this->db->query($subQuery, array($PO,IGR_CREATED)); - // print_r($this->db->last_query()); + // print_r($this->db->last_query()); return $query->result(); /* $this->db->select('POM.PONO,POL.MaterialCode,POL.Quantity,POL.PONO,MM.MaterialName,MM.UOM'); @@ -84,6 +85,7 @@ class inwardgateregister_model extends CI_Model $this->db->last_query(); return $result; */ } + function addigrM($igrM) { @@ -147,6 +149,22 @@ class inwardgateregister_model extends CI_Model 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) { @@ -244,6 +262,7 @@ class inwardgateregister_model extends CI_Model $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()); @@ -286,19 +305,25 @@ class inwardgateregister_model extends CI_Model - $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=? and Status=?) 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_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'; - $query= $this->db->query($subQuery, array($supplierId,ST044,PO,ST063)); + // $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=? 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 T_PurchaseOrder_Master.PONO,T_PurchaseOrder_LineItem.MaterialCode, + $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 @@ -308,12 +333,10 @@ join T_MRIR_Details on T_MRIR_Master.MRIRNO = T_MRIR_Details.MRIRNO and T_Purcha 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=? and T_PurchaseOrder_LineItem.MaterialCode not in -(select T_OGR_Details.MaterialCode from T_OGR_Details -join T_OGR_Master on T_OGR_Details.OGRNO=T_OGR_Master.OGRNO where PONO_INV=? and T_OGR_Details.Status=?)'; +where T_PurchaseOrder_Master.PONO=?'; - $query = $this->db->query($subQuery, array($PONO,$PONO,OGR_COMPLETE)); - // print_r($this->db->last_query()); + $query = $this->db->query($subQuery, array($PONO)); + //print_r($this->db->last_query()); return $query->result(); @@ -321,6 +344,35 @@ join T_OGR_Master on T_OGR_Details.OGRNO=T_OGR_Master.OGRNO where PONO_INV=? and + function getPOmaterialDetails($PONO,$materialcode) + { + $subQuery='select distinct T_PurchaseOrder_LineItem.MaterialCode,MaterialName,T_PurchaseOrder_LineItem.Quantity as Oqty,T_MRIR_Details.ActualQuantityReceived,T_MRIR_Details.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(); @@ -375,4 +427,33 @@ join T_OGR_Master on T_OGR_Details.OGRNO=T_OGR_Master.OGRNO where PONO_INV=? and // 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; + } + } \ No newline at end of file diff --git a/application/views/includes/header.php b/application/views/includes/header.php index 7d5b7352..cd1c9e44 100755 --- a/application/views/includes/header.php +++ b/application/views/includes/header.php @@ -1359,13 +1359,13 @@ $(function() { - + AssDep; - //echo $assd; + //echo $assd; - if($assd == STORE || $DEPCode == QUALITY || $assd == QUALITY || $DEPCode == STORE || $DEPCode == SECURITY || $assd == SECURITY){ $check = $check+1;?> + if($assd == STORE || $DEPCode == QUALITY || $assd == QUALITY || $DEPCode == STORE || $DEPCode == SECURITY || $assd == SECURITY){ $check8 = $check8+1;?>