latest commit 20-05-2025

This commit is contained in:
vadivelJ96 2025-05-22 15:01:00 +05:30
parent 215e4c4652
commit 7fea86773b
4 changed files with 86 additions and 19 deletions

View File

@ -501,6 +501,10 @@ class Inwardgateregister extends BaseController
$IGRItemStatus = REQITEM_NEW;
$TotalPendingQty = '';
$TotalPendingQty = (int)$TotalPendingQty;
// $PONO_array = $this->inwardgateregister_model->getAllPONO($PONO);
#Step 7 To Update the Date PO MASTER , Material Master , Historydetails and IGR line Item Details Updating OGR Details
for ($i = 1; $i <= (int)$RowCount; $i++) {
$MaterialCode = $this->request->getPost('MaterialCode' . $i);
@ -609,17 +613,19 @@ class Inwardgateregister extends BaseController
$totalReceivedqty = 0 ;
if(!$IsThisOpenOrderPO && $PreIGRStatus == 1){
if(!$IsThisOpenOrderPO && $PreIGRStatus == "ST027"){
$quantitiesReceived = $this->inwardgateregister_model->getOldIgrReceivedQty($MaterialCode,$PONO);
// $quantitiesReceived = $this->inwardgateregister_model->getOldIgrReceivedQty($MaterialCode,$PONO_array);
$oldQuantityReceived = 0 ;
$newQuantitiesReceived = $QuantityAsPerInvoice;
$changeInQuantities = $newQuantitiesReceived - $quantitiesReceived;
$changeInQuantities = $newQuantitiesReceived - $oldQuantityReceived;
$quantityToBeUpdated = $quantitiesReceived + $changeInQuantities;
$quantityToBeUpdated = $changeInQuantities;
$totalReceivedqty = $quantityToBeUpdated;
$totalReceivedqty = $oldQuantityReceived + $quantityToBeUpdated;
$POLineItem = array('ReceivedQuantity' => $totalReceivedqty, 'Status' => $ItemStatus, 'UpdateBY' => $CreatedBy, 'UpdatedOn' => $createddt);
@ -909,6 +915,8 @@ function viewIGRDetails()
$updateigrmaster = $this->inwardgateregister_model->updateigr($igrarr, $IGRNo);
log_message('error', "Master updated successfully: " . $updateigrmaster);
// $PONO_array = $this->inwardgateregister_model->getAllPONO($PONo);
# Step 4 : loop starts here for IGRlineitem to save
if(!empty($tableData )){
@ -960,15 +968,18 @@ function viewIGRDetails()
# Step 4.3 : IGRlineitem affectedRow have value and MaterialCode have value means
# : updated the polineitem Qty
if(!$IsThisOpenOrderPO && $PreIGRStatus){
if(!$IsThisOpenOrderPO && $PreIGRStatus == "ST027"){
$quantitiesReceived = $this->inwardgateregister_model->getOldIgrReceivedQty($MaterialCode,$PONo);
// $quantitiesReceived = $this->inwardgateregister_model->getOldIgrReceivedQty($MaterialCode,$PONO_array);d
$oldQuantityReceived = $this->inwardgateregister_model->getOldIgrReceivedIndividualQty($IGRNo , $MaterialCode );
$newQuantitiesReceived = $quantityAsPerInvoice;
$changeInQuantities = $newQuantitiesReceived - $quantitiesReceived;
$changeInQuantities = $newQuantitiesReceived - $oldQuantityReceived;
$quantityToBeUpdated = $quantitiesReceived + $changeInQuantities;
$quantityToBeUpdated = $oldQuantityReceived + $changeInQuantities;
$totalReceivedqty = $quantityToBeUpdated;

View File

@ -721,20 +721,74 @@ class Inwardgateregister_model extends Model
return $result;
}
function getOldIgrReceivedQty( $MaterialCode, $PONO) {
function getAllPONO($PONO){
$sql_first = "SELECT
Distinct tpol.PONO
From t_purchaseorder_lineitem tpol
Where tpol.ReqNo = (
SELECT Distinct ReqNO from t_purchaseorder_lineitem tpol where tpol.PONO = ?
)";
$query_first = $this->db->query($sql_first, [$PONO]);
$relatedPonosResult = $query_first->getResultArray();
log_message('info', print_r($relatedPonosResult, true));
$PONO_array = [];
if (!empty($relatedPonosResult)) {
$PONO_array = array_column($relatedPonosResult, 'PONO');
return $PONO_array;
}
if (empty($PONO_array)) {
log_message('info', 'No related PONOs found for given PONO. Returning 0.');
return [];
}
}
function getOldIgrReceivedQty( $MaterialCode, $PONO_array) {
$builder = $this->db->table('t_igr_details tigrd')
->selectSum('tigrd.QuantityAsPerInvoice')
->join('t_igr_master tigrm','tigrm.IGRNO = tigrd.IGRNO AND tigrm.PONO = ' . $this->db->escape($PONO),'inner')
->where('tigrm.IGRStatus', 'ST027')
->where('tigrd.MaterialCode', $MaterialCode)
->groupBy('tigrd.MaterialCode');
->selectSum('tigrd.QuantityAsPerInvoice')
->join('t_igr_master tigrm', 'tigrm.IGRNO = tigrd.IGRNO', 'inner')
->whereIn('tigrm.PONO', $PONO_array)
->where('tigrm.IGRStatus', 'ST027')
->where('tigrd.MaterialCode', $MaterialCode)
->groupBy('tigrd.MaterialCode');
$query = $builder->get()->getRow();
$result = $builder->get()->getRow();
log_message('info', 'getOldIgrReceivedQty Query: ' . $this->db->getLastQuery()->getQuery());
log_message('info', 'getOldIgrReceivedQty Second Query: ' . $this->db->getLastQuery()->getQuery());
// Return the sum or 0 if no result from the second query
return $result ? $result->QuantityAsPerInvoice : 0;
}
function getOldIgrReceivedIndividualQty($IGRNo , $MaterialCode){
$builder = $this->db->table('t_igr_details tigrd')
->selectSum('tigrd.QuantityAsPerInvoice')
->where('tigrd.IGRNO',$IGRNo)
->where('tigrd.mIGRStatus', 'ST027')
->where('tigrd.MaterialCode', $MaterialCode)
->groupBy('tigrd.MaterialCode');
$result = $builder->get()->getRow();
log_message('info', 'getOldIgrReceivedIndividualQty Query: ' . $this->db->getLastQuery()->getQuery());
// Return the sum or 0 if no result from the second query
return $result ? $result->QuantityAsPerInvoice : 0;
return $query ? $query->QuantityAsPerInvoice : 0;
}

View File

@ -101,7 +101,7 @@
<div class="col-3">
<label for="to_date">
<?php echo 'year'; ?>
<?php echo 'Year'; ?>
</label>
<div class="input-group">
<select class="form-control" id="financialyear" name="financialyear">

View File

@ -1473,6 +1473,7 @@
var pono = $("#PONO1").val();
var status = 0;
var tableData = [];
$('#tbleIGRAppend tr').each(function(index) {
var row = $(this);
++index;
@ -1510,6 +1511,7 @@
formData.append('hiddenIsOpenOrder', $("#hiddenIsOpenOrder").val());
formData.append('MasterFile', $('#MasterFile')[0].files[0]);
formData.append('file_name[]', $('#file_name').val());
formData.append('MasterRemarks', $("#MasterRemarks").val());
var empFiles = $('#emp_file')[0] ? $('#emp_file')[0].files : null;
if (empFiles) {
for (var i = 0; i < empFiles.length; i++) {