From 5a1ebd486ba620296ec5550c8f3cde60f2bd560c Mon Sep 17 00:00:00 2001 From: "venbatechnologies@gmail.com" Date: Wed, 11 Apr 2018 15:04:05 +0530 Subject: [PATCH] ogr change --- application/config/constants.php | 2 + .../controllers/inwardgateregister.php | 130 +++++++-------- .../models/inwardgateregister_model.php | 154 ++++++++++++++---- application/views/editogr.php | 16 ++ application/views/inwardgateregister.php | 2 +- application/views/ogr.php | 139 +++++++++++++--- application/views/ogrlist.php | 2 + 7 files changed, 328 insertions(+), 117 deletions(-) mode change 100755 => 100644 application/controllers/inwardgateregister.php 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)) + +
+ +
+ + 'mrirno','value' => set_value('mrirno',$mrirno),'id'=>'mrirno', 'class' => 'form-control'); + echo form_input($data); + ?> +
+ + + +
+ diff --git a/application/views/inwardgateregister.php b/application/views/inwardgateregister.php index 121def2d..d0dfc229 100755 --- a/application/views/inwardgateregister.php +++ b/application/views/inwardgateregister.php @@ -493,7 +493,7 @@ $('').attr({ }); - if((status == '' || status == '' || status == '') && ostatus != '' ) + if((status == '' || status == '' || status == '') && ostatus != '' ) { alert('The Order is completed!!'); $("#IGRLink").hide(); diff --git a/application/views/ogr.php b/application/views/ogr.php index 0c138d58..65e11fba 100644 --- a/application/views/ogr.php +++ b/application/views/ogr.php @@ -381,6 +381,25 @@ $Value="₹"; ?> + +
+ + + + 'Select'); + //print_r( $options); + + + echo form_dropdown('mrirno', $options,set_value('mrirno'),'id="mrirno"' ,'required="true"' ,'class="form-control select2'); + ?> + + + +
+ + +
@@ -753,6 +772,64 @@ $("#invno").change(function() }); + +$("#mrirno").change(function() +{ + + var mrirno = $('#mrirno').val(); + $('#poappend').empty(); + var row= $('#rowcount').val(); + //alert(row); + if(row !="") + { + for(var j=1;j<=row;j++) + { + $('#materialcode'+j).val(''); + $('#materialname'+j).val(''); + $('#Orderqty'+j).val(''); + $('#ReceivedQty'+j).val(''); + $('#RejectedQty'+j).val(''); + $('#outward'+j).val(''); + } + + $('#rowcount').val(''); + rw =0; + + } + + var PONO=$('#pono').val(); + $('#materialcode').find('option:not(:first)').remove(); + + $.ajax({ + + data:{MRIRNO:mrirno,PONO:PONO}, + type:"POST", + url:"inwardgateregister/getMRIR", + success:function(data) + { + + var html = ''; + + + $.each(JSON.parse(data), function (POmrirDet, POmrirdetobj) + { + // console.log(POmrirdetobj.MaterialCode); + html +=""; + + }); + $("#materialcode").append(html); + + } + + + + + }); + + +}); + + $("#pono").change(function() { var PONO=$('#pono').val(); @@ -777,7 +854,7 @@ $("#pono").change(function() } - $('#materialcode').find('option:not(:first)').remove(); + $('#mrirno').find('option:not(:first)').remove(); $.ajax({ @@ -785,7 +862,7 @@ $("#pono").change(function() type:"POST", // url:"inwardgateregister/getPODetails", - url:"inwardgateregister/getPOmaterial", + url:"inwardgateregister/getPOmrir", success:function(data) { @@ -801,10 +878,10 @@ $("#pono").change(function() $.each(JSON.parse(data), function (PODet, POdetobj) { //console.log(invobj.invoice_id); - html +=""; + html +=""; }); - $("#materialcode").append(html); + $("#mrirno").append(html); } else @@ -834,15 +911,33 @@ function addHidden(theForm, key, value) $('#materialcode').change(function() { - rw= parseFloat(rw)+1; + // rw= parseFloat(rw)+1; + var che =0; var materialcode=$('#materialcode').val(); - //alert(materialcode) + var mrirno = $('#mrirno').val(); + //alert(mrirno) var PONO=$('#pono').val(); + + var x = document.getElementById("potable").rows.length; + for(var i=1;i<=x;i++) + { + var mat= $('#materialcode'+i).val(); + if(mat == materialcode) + { + che = 1; + break; + } + } + + if(che == 0) + { +rw= parseFloat(rw)+1; + $.ajax({ - data:{materialcode:materialcode,PONO:PONO}, + data:{materialcode:materialcode,PONO:PONO,mrirno:mrirno}, type:"POST", - url:"inwardgateregister/getPOmaterialDetails", + url:"inwardgateregister/getMRIRDetails", success:function(data) { @@ -852,23 +947,13 @@ function addHidden(theForm, key, value) var bal =''; var tble=''; - // $('#poappend').empty(); + $.each(JSON.parse(data), function (POmat,POmatobj) { - // rw = POmat+1; - - - // if(POmatobj.balance_Qty == null) - // { - bal = POmatobj.QuantityRejected; - // } - // else - // { - // bal =POmatobj.balance_Qty; - // } - - + + bal = POmatobj.QuantityRejected-POmatobj.allowedQty; + tble += ''+ ''+rw+'' + '' + POmatobj.MaterialCode + '' + @@ -913,6 +998,13 @@ function addHidden(theForm, key, value) }); + } + + else + { + alert("Item Already Added"); + } + }); @@ -1033,8 +1125,11 @@ function QtyCheck(row) else { + var pendingout = parseFloat(allowed)-parseFloat(outwardqty); + //alert(pendingout) var theForm = $(".Ogradd"); addHidden(theForm,"outward"+row,outwardqty); + addHidden(theForm,"pendingoutward"+row,pendingout); return true; } } diff --git a/application/views/ogrlist.php b/application/views/ogrlist.php index bfee605f..4e537430 100644 --- a/application/views/ogrlist.php +++ b/application/views/ogrlist.php @@ -25,6 +25,7 @@ OGR No Type PO/INVOICE No + MRIR No Supplier/Customer Name Date Vehicle @@ -51,6 +52,7 @@ OGRNO;?> OgrType;?> PONO_INV;?> + MRIRNO;?> OgrType == 'PO'){?> SupplierName?>