diff --git a/app/Controllers/Inwardgateregister.php b/app/Controllers/Inwardgateregister.php index 5de89cb2..d42892c6 100755 --- a/app/Controllers/Inwardgateregister.php +++ b/app/Controllers/Inwardgateregister.php @@ -604,29 +604,44 @@ class Inwardgateregister extends BaseController $currentav_qty = (int)$QuantityAsPerInvoice + (int)$av_qty; $current_qty = array('Current_stock' => $currentav_qty); $this->inwardgateregister_model->addmaterialmaster($current_qty, $MaterialCode); - $Recqty = $this->inwardgateregister_model->getPOLineItemReceivedQty($PONO, $MaterialCode); - $ReceivedQuantity = 0.00; - if (count($Recqty) > 0) { - foreach ($Recqty as $key) { - $ReceivedQuantity = $key->ReceivedQuantity; - } - } - $totalReceivedqty = (int)$IsThisOpenOrderPO == 1 ? 0 : (int)$ReceivedQuantity + (int)$QuantityAsPerInvoice ; - $POLineItem = array('ReceivedQuantity' => $totalReceivedqty, 'Status' => $ItemStatus, 'UpdateBY' => $CreatedBy, 'UpdatedOn' => $createddt); - $this->inwardgateregister_model->UpdatePOLineItem($POLineItem, $PONO, $MaterialCode); + + + $totalReceivedqty = 0 ; + + + if(!$IsThisOpenOrderPO && $PreIGRStatus == 1){ + + $quantitiesReceived = $this->inwardgateregister_model->getOldIgrReceivedQty($MaterialCode,$PONO); + + $newQuantitiesReceived = $QuantityAsPerInvoice; + + $changeInQuantities = $newQuantitiesReceived - $quantitiesReceived; + + $quantityToBeUpdated = $quantitiesReceived + $changeInQuantities; + + $totalReceivedqty = $quantityToBeUpdated; + + $POLineItem = array('ReceivedQuantity' => $totalReceivedqty, 'Status' => $ItemStatus, 'UpdateBY' => $CreatedBy, 'UpdatedOn' => $createddt); + + $this->inwardgateregister_model->UpdatePOLineItem($POLineItem, $PONO, $MaterialCode); + + } + + } } + $this->inwardgateregister_model->UpdatePOMaster($PONO, $CreatedBy,$IGRStatus); #Step 9 Updating Pending Quantity IN PO Master amd Line Item Details. if ((int)$IsThisOpenOrderPO != 1) { - if ($TotalPendingQty == 0.00) { - $Newstatus = array('Status' => $IGRStatus); - $this->inwardgateregister_model->POLineItemsupdatestatus($PONO, $Newstatus); - $this->inwardgateregister_model->pomasterupdatestatus($PONO, $Newstatus); - } else { - /*echo 'Open Order PO' ;*/ - }} + if ($TotalPendingQty == 0.00) { + $Newstatus = array('Status' => $IGRStatus); + $this->inwardgateregister_model->POLineItemsupdatestatus($PONO, $Newstatus); + $this->inwardgateregister_model->pomasterupdatestatus($PONO, $Newstatus); + } + + } #finally $finalstatement = "Successfully Created IGR Number: $IGRNO \n"; diff --git a/app/Models/Inwardgateregister_model.php b/app/Models/Inwardgateregister_model.php index f6c6d1b7..da505f6b 100755 --- a/app/Models/Inwardgateregister_model.php +++ b/app/Models/Inwardgateregister_model.php @@ -732,6 +732,8 @@ class Inwardgateregister_model extends Model $query = $builder->get()->getRow(); + log_message('info', 'getOldIgrReceivedQty Query: ' . $this->db->getLastQuery()->getQuery()); + return $query ? $query->QuantityAsPerInvoice : 0; }