diff --git a/application/config/constants.php b/application/config/constants.php index c6530b14..707d2e11 100755 --- a/application/config/constants.php +++ b/application/config/constants.php @@ -127,6 +127,8 @@ define('OGR_COMPLETE', 'ST063'); define('ST044', 'ST044'); define('PO', 'PO'); define('ST063', 'ST063'); +define('OGR_CREATED', 'ST065'); + //pomaster status update// diff --git a/application/controllers/inwardgateregister.php b/application/controllers/inwardgateregister.php old mode 100755 new mode 100644 index 54b419de..4c699ec0 --- a/application/controllers/inwardgateregister.php +++ b/application/controllers/inwardgateregister.php @@ -110,8 +110,6 @@ class inwardgateregister extends BaseController $data = $this->inwardgateregister_model->getInvoice($CustomerId); echo json_encode($data); - - } @@ -133,6 +131,39 @@ class inwardgateregister extends BaseController } + function getMRIRDetails() + { + $MRIRno = $this->input->post('mrirno'); + $PONO = $this->input->post('PONO'); + $materialcode = $this->input->post('materialcode'); + $data = $this->inwardgateregister_model->getPOMRIRDetails($MRIRno,$PONO,$materialcode); + //$data['outqty'] = $this->inwardgateregister_model->gettotalout($PONO,$materialcode); + //$data['poout'] = $this->inwardgateregister_model->getPODetails($PONO); + + echo json_encode($data); + + } + + + function getMRIR() + { + $MRIRno = $this->input->post('MRIRNO'); + $PONO = $this->input->post('PONO'); + $data = $this->inwardgateregister_model->getPOMRIRMaterial($MRIRno,$PONO); + //$data['poout'] = $this->inwardgateregister_model->getPODetails($PONO); + + echo json_encode($data); + } + + + function getPOmrir() + { + $PONO = $this->input->post('PONO'); + $data = $this->inwardgateregister_model->getPOmrir($PONO); + //$data['poout'] = $this->inwardgateregister_model->getPODetails($PONO); + echo json_encode($data); + } + function getPOmaterialDetails() { $PONO= $this->input->post('PONO'); @@ -408,35 +439,22 @@ class inwardgateregister extends BaseController else if($type == 2) { - //die(); + $pono =$this->input->post('pono'); - //$type='PO'; + $MRIRNO = $this->input->post('mrirno'); + $Otype='PO'; - //$Status='ST063'; + $row= $this->input->post('rowcount'); $ogrmaster = array('OgrType'=>$Otype,'CreatedDate'=>$Date,'Driver'=>$driver - ,'PONO_INV'=>$pono,'VehicleNo'=>$vehicle); - - //$Igr_Details= $this->inwardgateregister_model->GetIGR_Details($pono); + ,'PONO_INV'=>$pono,'VehicleNo'=>$vehicle,'MRIRNO'=>$MRIRNO); $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 = ''; - //echo count($addogrmaster); - if(count($addogrmaster)>0) { foreach($addogrmaster as $add) @@ -450,11 +468,11 @@ 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); + $pendingoutward = $this->input->post('pendingoutward'.$i); $balance_Qty= $rejqty-$OutwardQty; //$balance_Qty = $this->input->post('pendingoutward'.$i); $Outwardtotal = $OutwardQty; @@ -462,14 +480,9 @@ class inwardgateregister extends BaseController 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; + + $polqty= $this->inwardgateregister_model->getPOLineItemReceivedQty($pono,$MaterialCode); + $ReceivedQuantity = 0.00; if(count($polqty)>0) { foreach ($polqty as $key ) @@ -478,53 +491,40 @@ class inwardgateregister extends BaseController } } - $totalReceivedqty = $ReceivedQuantity - $Outwardtotal; - - - - if($OutwardQty==$allowed) - { - $Status='ST063'; - } - else - { - $Status='ST064'; - } + $totalReceivedqty = $ReceivedQuantity - $Outwardtotal; + $POMStatus=OGR_CREATED; + + $POLineItem = array('ReceivedQuantity'=>$totalReceivedqty,'OGR_Status'=>$POMStatus); + + $this->inwardgateregister_model->UpdatePOLineItem($POLineItem,$pono,$MaterialCode); + + if($pendingoutward == 0) + { + $Status = OGR_COMPLETE; + } + + else + { + $Status = OGR_PARTIAL_COMPLETE; + } - - - - $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); + $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'=>OGR_COMPLETE); + $this->inwardgateregister_model->UpdateOGRMasterOGRStatus($OGRNO); - //$this->inwardgateregister_model->UpdatePOLineItem($POLineItem,$PONO,$MaterialCode); - $this->inwardgateregister_model->UpdatePOMasterOGR($postatus,$pono); - - - } + } } -//$this->inwardgateregister_model->UpdatePOMaster($PONO,$CreatedBy); - //$this->inwardgateregister_model->updateogrpomaster($pono); - if((count($addogrmaster)>0)&&(count($addOgrline)>0) && (count($updateogrmaster)>0)) + + if((count($addogrmaster)>0)&&(count($addOgrline)>0)) { echo "Saved Successfully OGR No is OGR".$OGRNO; diff --git a/application/models/inwardgateregister_model.php b/application/models/inwardgateregister_model.php index ab31658f..2dfe7958 100755 --- a/application/models/inwardgateregister_model.php +++ b/application/models/inwardgateregister_model.php @@ -64,7 +64,7 @@ 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=? group by POL.MaterialCode';// and POM.Status not in(?) '; $query = $this->db->query($subQuery, array($PO,IGR_CREATED)); @@ -151,6 +151,17 @@ class inwardgateregister_model extends CI_Model } + function UpdateMRIROUTQty($mrirarray,$MRIRNO,$MaterialCode) + { + + $this->db->where('MRIRNO', $MRIRNO); + $this->db->where('MaterialCode', $MaterialCode); + $this->db->update('T_MRIR_Details', $mrirarray); + + return TRUE; + } + + function update_OGR($PONO,$status) { $this->db->select('*'); @@ -184,6 +195,22 @@ class inwardgateregister_model extends CI_Model } + function UpdateOGRMasterOGRStatus($OGRNO) + { + $this->db->select('*'); + $this->db->from('T_OGR_Details'); + $this->db->where('OGRNO',$OGRNO); + $this->db->where('Status !=',OGR_PARTIAL_COMPLETE); + + $query = $this->db->get(); + + if ($query->num_rows == 0) { + $this->db->where('OGRNO', $OGRNO); + $POStatus = array('status'=>OGR_COMPLETE); + $this->db->update('T_OGR_Master', $POStatus); + } + } + function updateogrpomaster($pono) @@ -218,6 +245,19 @@ class inwardgateregister_model extends CI_Model } + function GetMRIROutQty($MRIRNO,$MaterialCode) + { + $this->db->select('Ogr_Out_Qty'); + $this->db->from('T_MRIR_Details'); + $this->db->where('MRIRNO',$MRIRNO); + $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'; @@ -309,36 +349,30 @@ class inwardgateregister_model extends CI_Model } + function getPOmrir($PONO) + { + $this->db->select('MRIRNO'); + $this->db->from('T_MRIR_Master'); + $this->db->where('T_MRIR_Master.PONO',$PONO); + $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'; - - + where T_PurchaseOrder_Master.SupplierID=? and T_PurchaseOrder_Master.Status=? or T_PurchaseOrder_Master.Status=? or T_PurchaseOrder_Master.Status=? or T_PurchaseOrder_Master.Status=? or T_PurchaseOrder_Master.Status=? or T_PurchaseOrder_Master.Status=? or T_PurchaseOrder_Master.Status=? 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)); + $query= $this->db->query($subQuery, array($supplierId,ST044,PO,PO_RELEASED,IGR_CREATED,MRIR_CREATED,PARTIAL_MRIRAPPROVED,OGR_COMPLETE,OGR_PARTIAL_COMPLETE,OGR_CREATED)); return $query->result(); @@ -368,9 +402,60 @@ where T_PurchaseOrder_Master.PONO=?'; + function getPOMRIRDetails($MRIRno,$PONO,$materialcode) + { + $subQuery='select T_MRIR_Details.MaterialCode,ActualQuantityReceived,QuantityAccepted,QuantityRejected, +MaterialName,Quantity as Oqty,SUM(Ogr_Out_Qty) as allowedQty +from T_MRIR_Details +join T_MaterialMaster on T_MRIR_Details.MaterialCode=T_MaterialMaster.MaterialCode +join T_MRIR_Master on T_MRIR_Details.MRIRNO = T_MRIR_Master.MRIRNO +join T_PurchaseOrder_LineItem on T_MRIR_Master.PONO = T_PurchaseOrder_LineItem.PONO and T_PurchaseOrder_LineItem.MaterialCode=T_MRIR_Details.MaterialCode +where T_MRIR_Details.MRIRNO=? and T_MRIR_Master.PONO=? and T_MRIR_Details.MaterialCode=? group by T_MRIR_Details.MaterialCode;'; + $query = $this->db->query($subQuery, array($MRIRno,$PONO,$materialcode)); + //print_r($this->db->last_query()); + return $query->result(); + + + } + + + function getPOMRIRMaterial($MRIRno,$PONO) + { + $this->db->select('MaterialCode'); + $this->db->from('T_MRIR_Details'); + $this->db->join('T_MRIR_Master','T_MRIR_Master.MRIRNO=T_MRIR_Details.MRIRNO'); + $this->db->where('T_MRIR_Details.MRIRNO',$MRIRno); + $this->db->where('PONO',$PONO); + $this->db->group_by('T_MRIR_Details.MaterialCode'); + $query = $this->db->get(); + //print_r( $this->db->last_query()); + $result = $query->result(); + return $result; + + } + + + function gettotalout($PONO,$materialcode) + { + $subQuery='select SUM(Ogr_Out_Qty) +from T_MRIR_Details +join T_MRIR_Master on T_MRIR_Master.MRIRNO= T_MRIR_Details.MRIRNO +where PONO =? and MaterialCode = ?; '; + +$query = $this->db->query($subQuery, array($PONO,$materialcode)); + //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 + $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 @@ -456,10 +541,21 @@ function getPOmaterial($PONO) 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(); + // $subQuery = 'select Total_OutwardQty from T_PurchaseOrder_LineItem where PONO=? and MaterialCode=?'; + // $query = $this->db->query($subQuery, array($pono,$MaterialCode)); + // //print_r($this->db->last_query()); + // return $query->result(); + + + $this->db->select('Total_OutwardQty'); + $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; + } diff --git a/application/views/editogr.php b/application/views/editogr.php index fedaac0a..fd4dd965 100644 --- a/application/views/editogr.php +++ b/application/views/editogr.php @@ -45,6 +45,7 @@ if(!empty($OGR_Data)) $MaterialName=$dt->Material_Name; //$name=$dt->; $outqty=$dt->OutwardQty; + $mrirno= $dt->MRIRNO; } } @@ -264,6 +265,21 @@ if(!empty($OGR_Data)) + +