From 8f2de433df46bc2d1810504fbfc5dc359d5d1c60 Mon Sep 17 00:00:00 2001 From: VE10-Sanjeev Date: Fri, 14 Feb 2025 13:17:54 +0000 Subject: [PATCH] issues fixs : ps --- app/Controllers/Inwardgateregister.php | 210 +++++++++++++++-------- app/Controllers/Purchaseorder.php | 26 +-- app/Controllers/Servicepurchaseorder.php | 8 +- app/Models/Inwardgateregister_model.php | 25 +++ app/Models/Purchaseorder_model.php | 16 +- app/Views/EditservicePurchaseorder.php | 189 ++++++++++++++++++-- app/Views/addRawMaterial.php | 4 +- app/Views/capitalpurchaseorder.php | 124 ++++++++++++- app/Views/editCapitalPo.php | 145 ++++++++++++++-- app/Views/editRevenuepurchaseorder.php | 100 +++++------ app/Views/editconfig.php | 16 +- app/Views/editimportpo.php | 141 ++++++++++++++- app/Views/importpo.php | 115 ++++++++++++- app/Views/po_pdf.php | 6 +- app/Views/purchaseorder.php | 58 +++---- app/Views/servicePurchaseorder.php | 122 ++++++++++++- 16 files changed, 1064 insertions(+), 241 deletions(-) diff --git a/app/Controllers/Inwardgateregister.php b/app/Controllers/Inwardgateregister.php index d13d0063..8e48dd03 100755 --- a/app/Controllers/Inwardgateregister.php +++ b/app/Controllers/Inwardgateregister.php @@ -477,17 +477,8 @@ class Inwardgateregister extends BaseController } } - #Step 5 Save Master Detail On Stored on History Table - foreach ($igr as $key => $value) { - if (!empty($value)) { // Ensure the value is not empty - if($key == 'CreatedBy'){ $key = 'MasterCreatedBy'; } - if($key == 'UpdateBY'){ $key = 'MasterUpdatedBy'; } - if($key == 'CreatedDate'){ $key = 'MasterCreatedDate'; } - if($key == 'UpdatedOn'){ $key = 'MasterUpdatedDate'; } - $hist = array( 'key' => $key, 'value' => $value, 'igr_no' => $IGRNO,'igr_item_no' => NULL); - $this->saveIGRHistory($hist); - } - } + #Step 5 Save Master Detail On Stored on History Table + # - Check Step 9 After I Insert. #Step 6 Updating OGR Details $OGRStatus = $IGRStatus; @@ -579,18 +570,7 @@ class Inwardgateregister extends BaseController } $historydetails = array('MaterialCode' => $MaterialCode, 'Transaction_type' => "Add", 'Ref_Type' => "IGR", 'Ref_No' => $igrlineno, 'Quantity' => $QuantityAsPerInvoice, 'CreatedBy' => $CreatedBy, 'CreatedOn' => $createddt, 'SupplierID' => $SupplierId, 'ItemValue' => $itemvalue); $this->inwardgateregister_model->addmaterialhistory($historydetails); - #Save IGR Detail On History Table - foreach ($igrDetails as $key => $value) { - if (!empty($value)) { // Ensure the value is not empty - if($key == 'CreatedBy'){ $key = 'LineItemCreatedBy'; } - if($key == 'UpdateBY'){ $key = 'LineItemUpdatedBy'; } - if($key == 'IGRNO'){ $key = 'LineItemIGRNO'; } - if($key == 'CreatedDate'){ $key = 'LineItemCreatedDate'; } - if($key == 'UpdatedOn'){ $key = 'LineItemUpdatedDate'; } - $hist = array( 'key' => $key, 'value' => $value, 'igr_no' => $IGRNO,'igr_item_no' => $igrlineno); - $this->saveIGRHistory($hist); - } - } + $get_pre_qty = $this->inwardgateregister_model->get_CurrentQty($MaterialCode); $av_qty = 0; //$av_qty means Avaliable Quantity if (!empty($get_pre_qty)) { @@ -632,6 +612,24 @@ class Inwardgateregister extends BaseController }} #finally $finalstatement = "Successfully Created IGR Number: $IGRNO \n"; + + # Step 5 Shifted Here + if($IGRNO){ + $igr_history = [ + 'field' => NULL, + 'history_dated' => get_current_date_time(), + 'by' => $this->session->get('userId'), + 'IGR_No' => $IGRNO, + 'is_add' => 1 + ]; + + // Insert history entry + $history_id = $this->inwardgateregister_model->igr_history($igr_history); + if ($history_id) { + log_message('error', "History Newly Created for IGR No: $IGRNO. History ID: $history_id. "); + } + } + if ($fileupdated_count > 0) { $finalstatement .= "Number of files updated: $fileupdated_count \n"; $finalstatement .= "Files: \n" . implode(PHP_EOL, $fileupdated_name); @@ -840,12 +838,7 @@ function viewIGRDetails() if(!empty($tableData )){ #Save IGR Master On History Table foreach ($igrarr as $key => $value) { - if (!empty($value)) { // Ensure the value is not empty - if($key == 'CreatedBy'){ $key = 'MasterCreatedBy'; } - if($key == 'UpdateBY'){ $key = 'MasterUpdatedBy'; } - if($key == 'CreatedDate'){ $key = 'MasterCreatedDate'; } - if($key == 'UpdatedOn'){ $key = 'MasterUpdatedDate'; } $hist = array( 'key' => $key, 'value' => $value, 'igr_no' => $IGRNo,'igr_item_no' => NULL); $this->saveIGRHistory($hist); } @@ -893,8 +886,6 @@ function viewIGRDetails() if($updateigrlineitem){ foreach ($igrline as $key => $value) { if (!empty($value)) { // Ensure the value is not empty - if($key == 'CreatedBy'){ $key = 'LineItemCreatedBy'; } - if($key == 'UpdateBY'){ $key = 'LineItemUpdatedBy'; } if($key == 'IGRNO'){ $key = 'LineItemIGRNO'; } $hist = array( 'key' => $key, 'value' => $value, 'igr_no' => $IGRNo,'igr_item_no' => NULL); @@ -1041,9 +1032,6 @@ function updateIGRWeight(){ foreach ($igr_lineitem as $key => $value) { if (!empty($value)) { // Ensure the value is not empty - if($key == 'CreatedBy'){ $key = 'LineItemCreatedBy'; } - if($key == 'UpdateBY'){ $key = 'LineItemUpdatedBy'; } - if($key == 'IGRNO'){ $key = 'LineItemIGRNO'; } $hist = array( 'key' => $key, 'value' => $value, 'igr_no' => $IGRNO,'igr_item_no' => $IGRItemNo); $this->saveIGRHistory($hist); } @@ -1435,51 +1423,131 @@ function updateIGRWeight(){ } - public function saveIGRHistory($hist) { + // public function saveIGRHistory($hist) { - // Extract fields from the input array - $field = $hist['key']; + // // Extract fields from the input array + // $field = $hist['key']; - $igr_no = $hist['igr_no']; - $igr_item_no = $hist['igr_item_no']; - $new_data = $hist['value']; // Incoming new value - $old_data = NULL; // Default old value is null + // $igr_no = $hist['igr_no']; + // $igr_item_no = $hist['igr_item_no']; + // $new_data = $hist['value']; // Incoming new value + // $old_data = NULL; // Default old value is null - log_message('error', "Save History function entered for IGR No: $igr_no, Item No: $igr_item_no, Field: $field."); + // log_message('error', "Save History function entered for IGR No: $igr_no, Item No: $igr_item_no, Field: $field."); + + // $latestHist = $this->inwardgateregister_model->get_igr_history($field, $igr_no, $igr_item_no); + // $latestIGRMasterForHist = $this->inwardgateregister_model->get_igr_master_for_history($field, $igr_no); // it have value + // $latestIGRChildForHist = $this->inwardgateregister_model->get_igr_child_for_history($field, $igr_no, $igr_item_no); + + // if(empty($igr_item_no)){ + // if(!empty($latestIGRMasterForHist)){ + // if (!empty($latestHist)) { + // if ($latestHist->new_data == $new_data) { + // log_message('error', "No update needed for IGR No: $igr_no, Item No: $igr_item_no, Field: $field. Data already exists: $new_data"); + // return; + // } else { + // $old_data = $latestHist->new_data; + // } + // }else{ + // $old_data = $latestIGRMasterForHist; + // } + // }} + + // if(!empty($igr_item_no)){ + // if(!empty($latestIGRChildForHist)){ + // if (!empty($latestHist)) { + // if ($latestHist->new_data == $new_data) { + // log_message('error', "No update needed for IGR No: $igr_no, Item No: $igr_item_no, Field: $field. Data already exists: $new_data"); + // return; + // } else { + // $old_data = $latestHist->new_data; + // } + // }else{ + // $old_data = $latestIGRChildForHist; + // } + // }} - $latestHist = $this->inwardgateregister_model->get_igr_history($field, $igr_no, $igr_item_no); - if (!empty($latestHist)) { - if ($latestHist->new_data == $new_data) { - log_message('error', "No update needed for IGR No: $igr_no, Item No: $igr_item_no, Field: $field. Data already exists: $new_data"); - return; - } else { - $old_data = $latestHist->new_data; - } - } - // Prepare history entry - $igr_history = [ - 'field' => $field, - 'new_data' => $new_data, - 'old_data' => $old_data, - 'history_dated' => get_current_date_time(), - 'by' => $this->session->get('userId'), - 'IGR_No' => $igr_no, - 'IGRItem_No' => $igr_item_no, - 'is_edit' => ($old_data !== NULL) ? 1 : 0, - 'is_add' => ($old_data === NULL) ? 1 : 0 - ]; - - // Insert history entry - $history_id = $this->inwardgateregister_model->igr_history($igr_history); - if ($history_id) { - log_message('error', "History updated successfully for IGR No: $igr_no, Item No: $igr_item_no, Field: $field. History ID: $history_id"); - } else { - log_message('error', "Failed to update history for IGR No: $igr_no, Item No: $igr_item_no, Field: $field."); - } - } + // // Prepare history entry + // $igr_history = [ + // 'field' => $field, + // 'new_data' => $new_data, + // 'old_data' => $old_data, + // 'history_dated' => get_current_date_time(), + // 'by' => $this->session->get('userId'), + // 'IGR_No' => $igr_no, + // 'IGRItem_No' => $igr_item_no, + // 'is_edit' => ($old_data !== NULL) ? 1 : 0, + // 'is_add' => ($old_data === NULL) ? 1 : 0 + // ]; + // // Insert history entry + // $history_id = $this->inwardgateregister_model->igr_history($igr_history); + // if ($history_id) { + // log_message('error', "History updated successfully for IGR No: $igr_no, Item No: $igr_item_no, Field: $field. History ID: $history_id"); + // } else { + // log_message('error', "Failed to update history for IGR No: $igr_no, Item No: $igr_item_no, Field: $field."); + // } + // } + public function saveIGRHistory($hist) { + + // Extract fields from the input array + $field = $hist['key']; + $igr_no = $hist['igr_no']; + $igr_item_no = $hist['igr_item_no']; + $new_data = $hist['value']; // Incoming new value + $old_data = null; // Default old value is null + + log_message('error', "Save History function entered for IGR No: $igr_no, Item No: $igr_item_no, Field: $field."); + + // Fetch the latest history record for the field + $latestHist = $this->inwardgateregister_model->get_igr_history($field, $igr_no, $igr_item_no); + + + // Fetch the current value from the master or child table + if (empty($igr_item_no)) { + $current_data = $this->inwardgateregister_model->get_igr_master_for_history($field, $igr_no); + } else { + $current_data = $this->inwardgateregister_model->get_igr_child_for_history($field, $igr_no, $igr_item_no); + } + + // Determine the old_data + if (!empty($latestHist)) { + // If history exists, use the latest new_data as old_data + $old_data = $latestHist->new_data; + } else { + // If no history exists, use the current data from the master/child table as old_data + $old_data = $current_data; + } + + // Check if the new_data is different from the old_data + if ($new_data == $old_data) { + log_message('error', "No update needed for IGR No: $igr_no, Item No: $igr_item_no, Field: $field. Data already exists: $new_data"); + return; // No need to insert history if data hasn't changed + } + + // Prepare history entry + $igr_history = [ + 'field' => $field, + 'new_data' => $new_data, + 'old_data' => $old_data, + 'history_dated' => get_current_date_time(), + 'by' => $this->session->get('userId'), + 'IGR_No' => $igr_no, + 'IGRItem_No' => $igr_item_no, + 'is_edit' => ($old_data !== null) ? 1 : 0, // 1 if it's an edit, 0 if it's an add + 'is_add' => ($old_data === null) ? 1 : 0 // 1 if it's an add, 0 if it's an edit + ]; + + // Insert history entry + $history_id = $this->inwardgateregister_model->igr_history($igr_history); + if ($history_id) { + log_message('error', "History updated successfully for IGR No: $igr_no, Item No: $igr_item_no, Field: $field. History ID: $history_id"); + } else { + log_message('error', "Failed to update history for IGR No: $igr_no, Item No: $igr_item_no, Field: $field."); + } +} diff --git a/app/Controllers/Purchaseorder.php b/app/Controllers/Purchaseorder.php index 7ed36c13..e96f797a 100755 --- a/app/Controllers/Purchaseorder.php +++ b/app/Controllers/Purchaseorder.php @@ -1225,7 +1225,8 @@ class Purchaseorder extends BaseController $AfterCgst = $this->request->getPost('RevenueAfterCgst' . $i); $AfterSgst = $this->request->getPost('RevenueAfterSgst' . $i); $AfterIgst = $this->request->getPost('RevenueAfterIgst' . $i); - + $LineitemAuditorNotes = $this->request->getPost('LineItemNoteForAuditor' . $i); + $SkipInsert = "False"; if (count($comma_separated) > 0) { for ($j = 1; $j < count($comma_separated); $j++) { @@ -1238,7 +1239,7 @@ class Purchaseorder extends BaseController } if ($SkipInsert == "False") { - $POLineItemList = array('PONO' => $PONO, 'ReqNo' => $Reqnumber, 'MaterialCode' => $MaterialCode, 'Quantity' => $Quantity, 'Rate' => $itemRate, 'Per' => $per, 'ServiceMaterialDescription' => $revenuedescription, 'Status' => $LineItemStatus, 'CreatedBy' => $CreateBy, 'CreatedDate' => $createddt, 'CostCenterCode' => $CostCenter); + $POLineItemList = array('PONO' => $PONO, 'ReqNo' => $Reqnumber, 'MaterialCode' => $MaterialCode, 'Quantity' => $Quantity, 'Rate' => $itemRate, 'Per' => $per, 'ServiceMaterialDescription' => $revenuedescription, 'Status' => $LineItemStatus, 'CreatedBy' => $CreateBy, 'CreatedDate' => $createddt, 'CostCenterCode' => $CostCenter,'LineitemAuditorNotes' => $LineitemAuditorNotes); $POLineItem = $this->purchaseorder_model->addPOLineItem($POLineItemList); $LineItemNo = ''; if (count($POLineItem) > 0) { @@ -1266,7 +1267,6 @@ class Purchaseorder extends BaseController //This used to Edit the Revenue Purchase Order function EditRevenuePurchaseOrder() { - // print_r($this->request->getPost());die; $PONO = $this->request->getPost('txtPONO'); $POdt = $this->request->getPost('PODate'); $PODate = get_date_time_format($POdt); @@ -1419,6 +1419,7 @@ class Purchaseorder extends BaseController $TotalOrderValue = $this->request->getPost('TotalOrderValue' . $i); $POLineItemNo = $this->request->getPost('LineItemNo' . $i); $CostCenter = $this->request->getPost('costCode' . $i); + $LineitemAuditorNotes = $this->request->getPost('LineItemNoteForAuditor' . $i); $LineItemNo = ''; /*---------start---------------------*/ @@ -1509,7 +1510,7 @@ class Purchaseorder extends BaseController if (count($RetItemNo) > 0) { $ItemNo = $RetItemNo[0]['ItemNo']; } - $POLineItemList = array('PONO' => $PONO, 'ReqNo' => $Reqnumber, 'MaterialCode' => $MaterialCode, 'Quantity' => $Quantity, 'ReceivedQuantity' => $recqty, 'Rate' => $itemRate, 'Status' => $LineItemStatus, 'CreatedBy' => $updatedBy, 'CreatedDate' => $updateddt, 'CostCenterCode' => $CostCenter); + $POLineItemList = array('PONO' => $PONO, 'ReqNo' => $Reqnumber, 'MaterialCode' => $MaterialCode, 'Quantity' => $Quantity, 'ReceivedQuantity' => $recqty, 'Rate' => $itemRate, 'Status' => $LineItemStatus, 'CreatedBy' => $updatedBy, 'CreatedDate' => $updateddt, 'CostCenterCode' => $CostCenter,'LineitemAuditorNotes'=>$LineitemAuditorNotes ); $POLineItem = $this->purchaseorder_model->addPOLineItem($POLineItemList); if (count($POLineItem) > 0) { @@ -1519,7 +1520,7 @@ class Purchaseorder extends BaseController $LineItemNo = $POLineItemNo; - $POLineItemList = array('PONO' => $PONO, 'ReqNo' => $Reqnumber, 'MaterialCode' => $MaterialCode, 'Quantity' => $Quantity, 'ReceivedQuantity' => $recqty, 'Rate' => $itemRate, 'Status' => $LineItemStatus, 'UpdateBY' => $updatedBy, 'UpdatedOn' => $updateddt, 'CostCenterCode' => $CostCenter); + $POLineItemList = array('PONO' => $PONO, 'ReqNo' => $Reqnumber, 'MaterialCode' => $MaterialCode, 'Quantity' => $Quantity, 'ReceivedQuantity' => $recqty, 'Rate' => $itemRate, 'Status' => $LineItemStatus, 'UpdateBY' => $updatedBy, 'UpdatedOn' => $updateddt, 'CostCenterCode' => $CostCenter,'LineitemAuditorNotes'=>$LineitemAuditorNotes); $POLineItem = $this->purchaseorder_model->updatePOLineItem($PONO, $POLineItemNo, $POLineItemList); } @@ -2108,6 +2109,7 @@ class Purchaseorder extends BaseController $specialinstruction = $this->request->getPost('Addinstruction' . $i); $per = $this->request->getPost('Per' . $i); + $LineitemAuditorNotes = $this->request->getPost('LineItemNoteForAuditor' . $i); $SkipInsert = "False"; if (count($comma_separated) > 0) { @@ -2122,7 +2124,7 @@ class Purchaseorder extends BaseController } if ($SkipInsert == "False") { - $POLineItemList = array('PONO' => $PONO, 'ReqNo' => $Reqnumber, 'MaterialCode' => $MaterialCode, 'Quantity' => $Quantity, 'Rate' => $itemRate, 'Status' => $LineItemStatus, 'CreatedBy' => $CreateBy, 'CreatedDate' => $createddt, 'CostCenterCode' => $CostCenter, 'Per' => $per, 'ServiceMaterialDescription' => $specialinstruction); + $POLineItemList = array('PONO' => $PONO, 'ReqNo' => $Reqnumber, 'MaterialCode' => $MaterialCode, 'Quantity' => $Quantity, 'Rate' => $itemRate, 'Status' => $LineItemStatus, 'CreatedBy' => $CreateBy, 'CreatedDate' => $createddt, 'CostCenterCode' => $CostCenter, 'Per' => $per, 'ServiceMaterialDescription' => $specialinstruction,'LineitemAuditorNotes' => $LineitemAuditorNotes); $POLineItem = $this->purchaseorder_model->addPOLineItem($POLineItemList); @@ -2412,6 +2414,7 @@ class Purchaseorder extends BaseController $specialinstruction = $this->request->getPost('Addinstruction' . $i); $per = $this->request->getPost('Per' . $i); + $LineitemAuditorNotes = $this->request->getPost('LineItemNoteForAuditor' . $i); // echo $per; //die(); $LineItemNo = ''; @@ -2485,7 +2488,7 @@ class Purchaseorder extends BaseController //echo $LineItemNo; //die(); - $POLineItemList = array('PONO' => $PONO, 'ReqNo' => $Reqnumber, 'MaterialCode' => $MaterialCode, 'Quantity' => $Quantity, 'Rate' => $itemRate, 'Status' => $LineItemStatus, 'UpdatedOn' => $updateddt, 'CostCenterCode' => $CostCenter, 'Per' => $per, 'ServiceMaterialDescription' => $specialinstruction); + $POLineItemList = array('PONO' => $PONO, 'ReqNo' => $Reqnumber, 'MaterialCode' => $MaterialCode, 'Quantity' => $Quantity, 'Rate' => $itemRate, 'Status' => $LineItemStatus, 'UpdatedOn' => $updateddt, 'CostCenterCode' => $CostCenter, 'Per' => $per, 'ServiceMaterialDescription' => $specialinstruction,'LineitemAuditorNotes'=>$LineitemAuditorNotes); $POLineItem = $this->purchaseorder_model->updatePOLineItem($PONO, $POLineItemNo, $POLineItemList); } $isExists = $this->purchaseorder_model->LineItemExistsinImportTax($LineItemNo); @@ -2835,6 +2838,7 @@ class Purchaseorder extends BaseController $CapitalItemDescription = $this->request->getPost('CapitalItemDescrition' . $i); $Per = $this->request->getPost('per' . $i); + $LineitemAuditorNotes = $this->request->getPost('LineItemNoteForAuditor' . $i); $SkipInsert = "False"; if (count($comma_separated) > 0) { for ($j = 1; $j < count($comma_separated); $j++) { @@ -2847,7 +2851,7 @@ class Purchaseorder extends BaseController } } if ($SkipInsert == "False") { - $POLineItemList = array('PONO' => $PONO, 'ReqNo' => $Reqnumber, 'MaterialCode' => $MaterialCode, 'Quantity' => $Quantity, 'Rate' => $itemRate, 'Status' => $LineItemStatus, 'CreatedBy' => $CreateBy, 'CreatedDate' => $createddt, 'CostCenterCode' => $CostCenter, 'ServiceMaterialDescription' => $CapitalItemDescription, 'Per' => $Per); + $POLineItemList = array('PONO' => $PONO, 'ReqNo' => $Reqnumber, 'MaterialCode' => $MaterialCode, 'Quantity' => $Quantity, 'Rate' => $itemRate, 'Status' => $LineItemStatus, 'CreatedBy' => $CreateBy, 'CreatedDate' => $createddt, 'CostCenterCode' => $CostCenter, 'ServiceMaterialDescription' => $CapitalItemDescription, 'Per' => $Per,'LineitemAuditorNotes'=>$LineitemAuditorNotes); $POLineItem = $this->purchaseorder_model->addPOLineItem($POLineItemList); @@ -3141,7 +3145,7 @@ class Purchaseorder extends BaseController $FreightNoofTriploc = $this->request->getPost('NoTrip' . $i); $Freightrateloc = $this->request->getPost('Fvalue' . $i); $FreightAmountloc = $this->request->getPost('Afvalue' . $i); - + $LineitemAuditorNotes = $this->request->getPost('LineItemNoteForAuditor' . $i); // echo $FreightTypeloc; // echo 'n'; // echo $FreightNoofTriploc; @@ -3216,7 +3220,7 @@ class Purchaseorder extends BaseController if ($SkipInsert == "False") { if (strlen((string)$POLineItemNo) == 0) { - $POLineItemList = array('PONO' => $PONO, 'ReqNo' => $Reqnumber, 'MaterialCode' => $MaterialCode, 'Quantity' => $Quantity, 'Rate' => $itemRate, 'Status' => $LineItemStatus, 'CreatedBy' => $CreateBy, 'CreatedDate' => $createddt, 'CostCenterCode' => $CostCenter, 'ServiceMaterialDescription' => $CapitalItemDescription, 'Per' => $Per); + $POLineItemList = array('PONO' => $PONO, 'ReqNo' => $Reqnumber, 'MaterialCode' => $MaterialCode, 'Quantity' => $Quantity, 'Rate' => $itemRate, 'Status' => $LineItemStatus, 'CreatedBy' => $CreateBy, 'CreatedDate' => $createddt, 'CostCenterCode' => $CostCenter, 'ServiceMaterialDescription' => $CapitalItemDescription, 'Per' => $Per,'LineitemAuditorNotes'=>$LineitemAuditorNotes); $POLineItem = $this->purchaseorder_model->addPOLineItem($POLineItemList); // if($i != 1){ @@ -3277,7 +3281,7 @@ class Purchaseorder extends BaseController - $POLineItemList = array('PONO' => $PONO, 'ReqNo' => $Reqnumber, 'MaterialCode' => $MaterialCode, 'Quantity' => $Quantity, 'Rate' => $itemRate, 'Status' => $LineItemStatus, 'CreatedBy' => $CreateBy, 'CostCenterCode' => $CostCenter, 'ServiceMaterialDescription' => $CapitalItemDescription, 'Per' => $Per); + $POLineItemList = array('PONO' => $PONO, 'ReqNo' => $Reqnumber, 'MaterialCode' => $MaterialCode, 'Quantity' => $Quantity, 'Rate' => $itemRate, 'Status' => $LineItemStatus, 'CreatedBy' => $CreateBy, 'CostCenterCode' => $CostCenter, 'ServiceMaterialDescription' => $CapitalItemDescription, 'Per' => $Per,'LineitemAuditorNotes'=>$LineitemAuditorNotes); $POLineItem = $this->purchaseorder_model->updatePOLineItem($PONO, $LineItemNo, $POLineItemList); if ($capitalType == '1') { $ServiceTaxList = array('CGST' => $Cgst, 'After_CGST' => $AfterCgst, 'SGST' => $Sgst, 'After_SGST' => $AfterSgst, 'IGST' => $Igst, 'After_IGST' => $AfterIgst, 'otherallowance' => $OtherAmt, 'TotalValue' => $TaxtotalOrderValue, 'UpdateBY' => $CreateBy, 'UpdatedOn' => $createddt, 'discount' => $DiscountType, 'discountval' => $DiscountValue, 'Afterdiscountval' => $AfterDiscount, 'FreightType' => $FreightTypeloc, 'NoOfTrip' => $FreightNoofTriploc, 'FreightValue' => $Freightrateloc, 'AfterFreightValue' => $FreightAmountloc); diff --git a/app/Controllers/Servicepurchaseorder.php b/app/Controllers/Servicepurchaseorder.php index a5416df1..6f810d46 100755 --- a/app/Controllers/Servicepurchaseorder.php +++ b/app/Controllers/Servicepurchaseorder.php @@ -289,6 +289,7 @@ class Servicepurchaseorder extends BaseController $ItemDescription = $this->request->getPost('ItemDescription' . $i); $OtherAmt = $this->request->getPost('OtherAmt' . $i); $TotalOrderValue = $this->request->getPost('TotalOrderValue' . $i); + $LineitemAuditorNotes = $this->request->getPost('LineItemNoteForAuditor' . $i); $SkipInsert = "False"; if (count($comma_separated) > 0) { @@ -314,7 +315,7 @@ class Servicepurchaseorder extends BaseController - $POLineItemList = array('PONO' => $PONO, 'ReqNo' => $Reqnumber, 'MaterialCode' => $MaterialCode, 'Quantity' => $Quantity, 'Rate' => $itemRate, 'Status' => $LineItemStatus, 'CreatedBy' => $CreateBy, 'CreatedDate' => $createddt, 'CostCenterCode' => $CostCenter, 'ServiceFrequency' => $ServiceFrequency, 'ServiceMaterialDescription' => $ItemDescription, 'Per' => $Per, 'ItemNo' => $ItemNo); + $POLineItemList = array('PONO' => $PONO, 'ReqNo' => $Reqnumber, 'MaterialCode' => $MaterialCode, 'Quantity' => $Quantity, 'Rate' => $itemRate, 'Status' => $LineItemStatus, 'CreatedBy' => $CreateBy, 'CreatedDate' => $createddt, 'CostCenterCode' => $CostCenter, 'ServiceFrequency' => $ServiceFrequency, 'ServiceMaterialDescription' => $ItemDescription, 'Per' => $Per, 'ItemNo' => $ItemNo,'LineitemAuditorNotes' => $LineitemAuditorNotes); $POLineItem = $this->purchaseorder_model->addPOLineItem($POLineItemList); @@ -485,6 +486,7 @@ class Servicepurchaseorder extends BaseController $ItemDescription = $this->request->getPost('ItemDescription' . $i); $OtherAmt = $this->request->getPost('OtherAmt' . $i); $Per = $this->request->getPost('per' . $i); + $LineitemAuditorNotes = $this->request->getPost('LineItemNoteForAuditor' . $i); @@ -557,7 +559,7 @@ class Servicepurchaseorder extends BaseController if (count($RetItemNo) > 0) { $ItemNo = $RetItemNo[0]['ItemNo']; } - $POLineItemList = array('PONO' => $PONO, 'ReqNo' => $Reqnumber, 'MaterialCode' => $MaterialCode, 'Quantity' => $Quantity, 'Rate' => $itemRate, 'Status' => $LineItemStatus, 'CreatedBy' => $updatedBy, 'CreatedDate' => $updateddt, 'CostCenterCode' => $CostCenter, 'ServiceFrequency' => $ServiceFrequency, 'ServiceMaterialDescription' => $ItemDescription, 'Per' => $Per, 'ItemNo' => $ItemNo); + $POLineItemList = array('PONO' => $PONO, 'ReqNo' => $Reqnumber, 'MaterialCode' => $MaterialCode, 'Quantity' => $Quantity, 'Rate' => $itemRate, 'Status' => $LineItemStatus, 'CreatedBy' => $updatedBy, 'CreatedDate' => $updateddt, 'CostCenterCode' => $CostCenter, 'ServiceFrequency' => $ServiceFrequency, 'ServiceMaterialDescription' => $ItemDescription, 'Per' => $Per, 'ItemNo' => $ItemNo,'LineitemAuditorNotes' => $LineitemAuditorNotes); $POLineItem = $this->purchaseorder_model->addPOLineItem($POLineItemList); if (count($POLineItem) > 0) { @@ -566,7 +568,7 @@ class Servicepurchaseorder extends BaseController } else { $LineItemNo = $POLineItemNo; - $POLineItemList = array('PONO' => $PONO, 'ReqNo' => $Reqnumber, 'MaterialCode' => $MaterialCode, 'Quantity' => $Quantity, 'Rate' => $itemRate, 'Status' => $LineItemStatus, 'UpdateBY' => $updatedBy, 'UpdatedOn' => $updateddt, 'CostCenterCode' => $CostCenter, 'ServiceMaterialDescription' => $ItemDescription, 'Per' => $Per); + $POLineItemList = array('PONO' => $PONO, 'ReqNo' => $Reqnumber, 'MaterialCode' => $MaterialCode, 'Quantity' => $Quantity, 'Rate' => $itemRate, 'Status' => $LineItemStatus, 'UpdateBY' => $updatedBy, 'UpdatedOn' => $updateddt, 'CostCenterCode' => $CostCenter, 'ServiceMaterialDescription' => $ItemDescription, 'Per' => $Per,'LineitemAuditorNotes' => $LineitemAuditorNotes); $POLineItem = $this->purchaseorder_model->updatePOLineItem($PONO, $POLineItemNo, $POLineItemList); } diff --git a/app/Models/Inwardgateregister_model.php b/app/Models/Inwardgateregister_model.php index 564b7620..4ec07343 100755 --- a/app/Models/Inwardgateregister_model.php +++ b/app/Models/Inwardgateregister_model.php @@ -249,6 +249,31 @@ class Inwardgateregister_model extends Model return $result; } + function get_igr_master_for_history($field, $igr_no) { + $builder = $this->db->table('t_igr_master Master') + ->select("Master.$field"); // Select only the required field + if ($igr_no) { + $builder->where('Master.IGRNO', $igr_no); + } + $query = $builder->get(); + $result = $query->getRow(); + return $result ? $result->$field : null; // Return the field value directly + } + + function get_igr_child_for_history($field, $igr_no, $igr_item_no) { + $builder = $this->db->table('t_igr_details Child') + ->select("Child.$field"); // Select only the required field + if ($igr_no) { + $builder->where('Child.IGRNO', $igr_no); + } + if ($igr_item_no) { + $builder->where('Child.IGRItemNo', $igr_item_no); + } + $query = $builder->get(); + $result = $query->getRow(); + return $result ? $result->$field : null; // Return the field value directly + } + function addigrM($igrM) { // print_r($igrM);die; diff --git a/app/Models/Purchaseorder_model.php b/app/Models/Purchaseorder_model.php index 99fd3837..0ad9e8fd 100755 --- a/app/Models/Purchaseorder_model.php +++ b/app/Models/Purchaseorder_model.php @@ -1070,7 +1070,7 @@ mstr.CourierNo,pom.Status,pom.POType') //,bill.BillNo,bill.FilePath, { $builder = $this->db->table('t_purchaseorder_master POMast')->distinct() - ->select('ReqNo,POMast.PONO,POMast.PaymentTerms,POMast.PaymentOtherDescription, + ->select('LineItem.LineitemAuditorNotes,ReqNo,POMast.PONO,POMast.PaymentTerms,POMast.PaymentOtherDescription, ServiceDescription,supp.SupplierID,supp.SupplierName,supp.Address,supp.MSME, PODate,Stat.StatusName,DeliveryOption,DeliverySchedule,DeliveryDate,DeliveryAddress, POMast.PaymentTerms,POMast.ExchangeRate,POMast.UpdatedOn,Stat.StatusCode, @@ -1095,7 +1095,7 @@ mstr.CourierNo,pom.Status,pom.POType') //,bill.BillNo,bill.FilePath, function GetServicePurchaseOrderDetails($PONO = '') { - $subQuery = 'SELECT distinct LineItem.LineItemNo,LineItem.ReqNo,LineItem.Per,Mat.MaterialCode,Mat.MaterialName,Mat.UOM,LineItem.Quantity,ReceivedQuantity,Rate,LineItem.Status,(LineItem.Quantity *Rate) as BasicValue ,(After_CGST + After_SGST + After_IGST) as Taxamount,Dept.DepartmentName + $subQuery = 'SELECT distinct LineItem.LineitemAuditorNotes,LineItem.LineItemNo,LineItem.ReqNo,LineItem.Per,Mat.MaterialCode,Mat.MaterialName,Mat.UOM,LineItem.Quantity,ReceivedQuantity,Rate,LineItem.Status,(LineItem.Quantity *Rate) as BasicValue ,(After_CGST + After_SGST + After_IGST) as Taxamount,Dept.DepartmentName ,TotalValue,CGST,After_CGST,SGST,After_SGST,IGST,After_IGST,otherallowance,LineItem.CostCenterCode,LineItem.ServiceFrequency,LineItem.ServiceMaterialDescription,Req.Schedule_Type,Req.NumberOfService,Req.Service_Period,ReqDet.MaterialDescription FROM t_purchaseorder_lineitem LineItem left join t_materialmaster Mat on Mat.MaterialCode = LineItem.MaterialCode @@ -1116,7 +1116,7 @@ mstr.CourierNo,pom.Status,pom.POType') //,bill.BillNo,bill.FilePath, - $subQuery = 'SELECT distinct LineItem.LineItemNo,LineItem.ReqNo,LineItem.Per,LineItem.ServiceMaterialDescription,Mat.MaterialCode,Mat.MaterialName,POMaster.ParentPO, + $subQuery = 'SELECT distinct LineItem.LineitemAuditorNotes,LineItem.LineItemNo,LineItem.ReqNo,LineItem.Per,LineItem.ServiceMaterialDescription,Mat.MaterialCode,Mat.MaterialName,POMaster.ParentPO, Mat.UOM,Quantity,Rate,ROUND((Quantity *Rate),2 ) as BasicValue,POMaster.AmendedDetails,LineItem.AmendedDetails as lineamenddetails, ROUND(( Tax.After_SGST + Tax.After_CGST + Tax.After_IGST ) ,2)as Taxamount,ReqMat.NumberOfService,ReqMat.Schedule_Type,ReqMat.Service_Period, TotalValue,Tax.After_SGST AS AfterSGST,Tax.After_CGST AS AfterCGST,Tax.After_IGST AS AfterIGST , Tax.*,LineItem.CostCenterCode ,POMaster.*,sup.SupplierName,sup.SupplierID,sup.Address,sup.ContactNumber,sup.EmailAddress,sup.PAN,sup.GSTNO,sup.MSME,sup.Cert_MSME,Payment.PaymentTerms,AdvanceAmount @@ -1141,8 +1141,8 @@ mstr.CourierNo,pom.Status,pom.POType') //,bill.BillNo,bill.FilePath, function GetRevenuePurchaseOrderDetails($PONO = '') { - $subQuery = 'SELECT distinct LineItem.LineItemNo,Req.ReqNo,Mat.MaterialCode,Mat.MaterialName,Mat.UOM,Quantity,Per,ServiceMaterialDescription,ReceivedQuantity,Rate,Req.Status,(Quantity *Rate) as BasicValue , (( AfterSGST + AfterCGST + - AfterIGST )) as Taxamount ,TotalValue,Tax.*,Req.CostCenterCode,Dept.DepartmentName,LineItem.LineitemDescription + $subQuery = 'SELECT distinct LineItem.LineitemAuditorNotes,LineItem.LineItemNo,Req.ReqNo,Mat.MaterialCode,Mat.MaterialName,Mat.UOM,Quantity,Per,ServiceMaterialDescription,ReceivedQuantity,Rate,Req.Status,(Quantity *Rate) as BasicValue , (( AfterSGST + AfterCGST + + AfterIGST )) as Taxamount ,TotalValue,Tax.*,Req.CostCenterCode,Dept.DepartmentName,LineItem.LineitemAuditorNotes FROM t_purchaseorder_lineitem LineItem join t_materialmaster Mat on Mat.MaterialCode = LineItem.MaterialCode left join t_revenue_tax Tax on Tax.LineItemNo = LineItem.LineItemNo @@ -1160,7 +1160,7 @@ mstr.CourierNo,pom.Status,pom.POType') //,bill.BillNo,bill.FilePath, function GetRevenuePurchaseOrderDetailsForPDF($PONO = '') { - $subQuery = 'SELECT distinct LineItem.LineItemNo,LineItem.Per,ReqNo,Mat.MaterialCode,Mat.MaterialName,POMaster.PaymentOtherDescription,LineItem.ServiceMaterialDescription, + $subQuery = 'SELECT distinct LineItem.LineitemAuditorNotes,LineItem.LineItemNo,LineItem.Per,ReqNo,Mat.MaterialCode,Mat.MaterialName,POMaster.PaymentOtherDescription,LineItem.ServiceMaterialDescription, Mat.UOM,Mat.HSNCODE,Quantity,Rate,ROUND((Quantity *Rate),2 ) as BasicValue , ROUND(((AfterSGST + AfterCGST + AfterIGST)) ,2)as Taxamount,AdvanceAmount, @@ -1213,7 +1213,7 @@ mstr.CourierNo,pom.Status,pom.POType') //,bill.BillNo,bill.FilePath, // join t_supplierdetailsn sup on sup.SupplierID = POMaster.SupplierID // where LineItem.PONO =?'; - $subQuery = 'SELECT distinct LineItem.LineItemNo,LineItem.ReqNo,Mat.MaterialCode,Mat.MaterialName,Import_DispatchDetails,LineItem.Per,LineItem.ServiceMaterialDescription, + $subQuery = 'SELECT distinct LineItem.LineitemAuditorNotes,LineItem.LineItemNo,LineItem.ReqNo,Mat.MaterialCode,Mat.MaterialName,Import_DispatchDetails,LineItem.Per,LineItem.ServiceMaterialDescription, Mat.UOM,Quantity,ReqMas.Requestedby,Rate,ROUND((RMCIncludingCustomersPerKG*Quantity),2)as Taxamount , ProductPrice,Tax.*,LineItem.CostCenterCode ,Date(ReqMast.ReqDate) as ReqDate,POMaster.*,sup.SupplierName,sup.Address,LineItem.AmendedDetails as LineAmend,LineItem.AmendedDetails as lineamenddetails,AdvanceAmount, Pay.PaymentTerms as PaymentTerms,ROUND((Quantity *Rate),2 ) as BasicValue,HSNCODE, sup.EmailAddress,sup.SupplierID,sup.PAN,sup.ContactNumber,sup.GSTNO,sup.MSME,sup.Cert_MSME @@ -1325,7 +1325,7 @@ mstr.CourierNo,pom.Status,pom.POType') //,bill.BillNo,bill.FilePath, function GetImportPurchaseOrderDetails($PONO = '') { - $subQuery = 'SELECT DISTINCT LineItem.LineItemNo, Req.ReqNo, Mat.MaterialCode, Mat.MaterialName, + $subQuery = 'SELECT DISTINCT LineItem.LineitemAuditorNotes,LineItem.LineItemNo, Req.ReqNo, Mat.MaterialCode, Mat.MaterialName, Mat.UOM, Quantity, Rate, Req.Status, ROUND((Quantity * Rate), 2) AS BasicValue, ReceivedQuantity, QuantityRejected, ROUND(Quantity - ReceivedQuantity) AS PendingQty, Per, ROUND((RMCIncludingCustomersPerKG * Quantity), 2) AS Taxamount, LandingCharge, HighSeasSalesCharge, diff --git a/app/Views/EditservicePurchaseorder.php b/app/Views/EditservicePurchaseorder.php index 5b10c317..85a67ac0 100755 --- a/app/Views/EditservicePurchaseorder.php +++ b/app/Views/EditservicePurchaseorder.php @@ -1,3 +1,99 @@ + + "NO", "value" => "0"), @@ -147,6 +243,7 @@ if (!empty($getlogpodtl)) { // var maxDate = new Date(minDate.getFullYear() + 1, minDate.getMonth(), minDate.getDate()); }); + Requisition No Item Code Item Description + Line Item Specs Quantity UOM Rate @@ -826,6 +923,20 @@ if (!empty($getlogpodtl)) { ReqNo ?> MaterialCode ?> MaterialName ?> + + + + LineitemAuditorNotes) ? $record->LineitemAuditorNotes : "-"; ?> + + + LineitemAuditorNotes) ? $record->LineitemAuditorNotes : "-"; } ?> + Quantity ?> UOM ?> Rate ?> @@ -1088,6 +1199,7 @@ if (!empty($getlogpodtl)) { + @@ -3157,7 +3269,7 @@ if (!empty($getlogpodtl)) { echo form_input($data); ?> -
+
'txtAfterFreightlocview', 'value' => set_value('txtAfterFreightlocview'), 'id' => 'txtAfterFreightlocview', 'class' => 'form-control num', 'readonly' => 'true'); @@ -4663,13 +4775,24 @@ if (!empty($getlogpodtl)) { // ReceivedQuantity: 0, // PendingQuantity: quantity // })); + PONOStatus = var rowHtml = ` ${temp} ${Reqnumber} ${materialCode} - ${materialName} - ${quantity} + ${materialName}`; + if (PONOStatus === "PO_DRAFT" || PONOStatus === "PO_CREATED") { + rowHtml += `- + `; + }else{ rowHtml += `-`; } + rowHtml += `${quantity} ${uom} ${itemRate} ${basicval} @@ -5548,7 +5671,7 @@ if (!empty($getlogpodtl)) { $('#EditCustomDutyExpenses').val($('#CustomDutyExpenses' + userid).val()); //$('#txtEditInsurance').val($('#RMCIncludingCustomers'+userid).val()); - $('#EdittxtTotalOrderValue').val(cellval[9].innerHTML); + $('#EdittxtTotalOrderValue').val(cellval[10].innerHTML); @@ -5653,7 +5776,7 @@ if (!empty($getlogpodtl)) { $('#ViewAfterSgst').val($('#AfterSgst' + userid).val()); $('#ViewAfterIgst').val($('#AfterIgst' + userid).val()); $('#ViewOtherAllowances').val($('#OtherAmt' + userid).val()); - $('#ViewTotalAmountlocal').val(cellval[9].innerHTML); + $('#ViewTotalAmountlocal').val(cellval[10].innerHTML); $('#drpFreightviewloc').val($("#Ftype" + userid).val()); @@ -6428,12 +6551,12 @@ if (!empty($getlogpodtl)) { cellval[2].innerHTML = materialCode; cellval[3].innerHTML = materialName; - cellval[4].innerHTML = quantity; - cellval[5].innerHTML = uom; - cellval[6].innerHTML = parseFloat(itemRate).toFixed(2); - cellval[7].innerHTML = parseFloat(basicval).toFixed(2); - cellval[8].innerHTML = parseFloat(TotalTaxValue).toFixed(2); - cellval[9].innerHTML = parseFloat(Total).toFixed(2); + cellval[5].innerHTML = quantity; + cellval[6].innerHTML = uom; + cellval[7].innerHTML = parseFloat(itemRate).toFixed(2); + cellval[8].innerHTML = parseFloat(basicval).toFixed(2); + cellval[9].innerHTML = parseFloat(TotalTaxValue).toFixed(2); + cellval[10].innerHTML = parseFloat(Total).toFixed(2); diff --git a/app/Views/editRevenuepurchaseorder.php b/app/Views/editRevenuepurchaseorder.php index 649c0f7c..a8251fb0 100755 --- a/app/Views/editRevenuepurchaseorder.php +++ b/app/Views/editRevenuepurchaseorder.php @@ -72,26 +72,15 @@ const $btn = $(this); const $editContainer = $btn.closest('.edit-container'); const $input = $editContainer.find('.edit-input-field'); + const value = $input.val().trim(); const $link = $editContainer.siblings('.editable-field'); - const invoiceId = $link.data('lineitemdesc'); - $('#loader').show(); - // Save logic (API call) - $.ajax({ - url: 'updateInvRecQty', - method: 'POST', - data: { invoice_id: invoiceId, received_qty: value }, - success: function (response) { - // Show success and update the tag value - $link.text(value).show(); - $editContainer.hide(); - $('#loader').hide(); - }, - error: function (xhr) { - $('#loader').hide(); - alert('Failed to save the value.'); - } - }); + const LineItemNoteForAuditor = $link.data('notes'); + const id = $link.data('id'); + var theForm = $(".CreatePO"); + $("#LineItemNoteForAuditor" + id).val(value); // to update the hidden fields + $link.text(value).show(); // to update table cell + $editContainer.hide(); }); // Handle click on the close (cancel) button @@ -2346,6 +2335,7 @@ if (!empty($getlogpodtl)) { Requisition No Item Code Item Description + Line Item Specs Quantity UOM Rate @@ -2362,7 +2352,6 @@ if (!empty($getlogpodtl)) { - Lineitem Description Action @@ -2379,6 +2368,20 @@ if (!empty($getlogpodtl)) { ReqNo ?> MaterialCode ?> MaterialName ?> + + + + LineitemAuditorNotes) ? $record->LineitemAuditorNotes : "-"; ?> + + + LineitemAuditorNotes) ? $record->LineitemAuditorNotes : "-"; } ?> + Quantity ?> UOM ?> Rate ?> @@ -2519,19 +2522,10 @@ if (!empty($getlogpodtl)) { name="" id="" value="TotalValue; ?>" /> - - - - LineitemDescription) ? $record->LineitemDescription : "-"; ?> - - - + + // var template = jQuery("#RevenueList").html(); @@ -4508,23 +4505,25 @@ if (!empty($getlogpodtl)) { ${temp} ${Reqnumber} ${materialCode} - ${materialName} - ${quantity} - ${uom} - ${itemRate} - ${basicval} - ${TotalTaxValue} - ${TotalOrderValue} - - - - - - + ${materialName}`; + if (PONOStatus === "PO_DRAFT" || PONOStatus === "PO_CREATED") { + rowHtml += `- + `; + }else{ rowHtml += `-`; } + rowHtml += ` + ${quantity} + ${uom} + ${itemRate} + ${basicval} + ${TotalTaxValue} + ${TotalOrderValue} + @@ -4532,7 +4531,7 @@ if (!empty($getlogpodtl)) { - + `; $('#RevenueAppend').append(rowHtml); @@ -4574,6 +4573,7 @@ if (!empty($getlogpodtl)) { addHidden(theForm, "LineItemNo" + temp, ''); addHidden(theForm, "per" + temp, PER); addHidden(theForm, "service_description" + temp, service_description); + addHidden(theForm, "LineItemNoteForAuditor" + temp, '-'); $('#txtRowCount').val(temp); populateValueMainFormForRevenue(); clearRevenueModalFields(); diff --git a/app/Views/editconfig.php b/app/Views/editconfig.php index 6385e75f..20bf6e67 100755 --- a/app/Views/editconfig.php +++ b/app/Views/editconfig.php @@ -624,6 +624,7 @@ if (!empty($master)) { let key_id = $(event.currentTarget).data('key'); let code_value = $(event.currentTarget).data('code'); + let deleteUrl = event.currentTarget.href; // Store the href URL if (code_value == 'C023') { $.ajax({ @@ -641,13 +642,16 @@ if (!empty($master)) { data.forEach(function(item) { content += "\n- " + item.PONO; }); + let result = confirm(content); + if (result) { + window.location.assign(deleteUrl); // Use assign() instead of href + } + }else{ + let result = confirm("Do you want to delete this configuration?"); + if (result) { + window.location.assign(deleteUrl); // Use assign() instead of href + } } - - let result = confirm(content); - - if (result) { - window.location.href = event.currentTarget.href; // Proceed with deletion - } }, error: function(xhr, status, error) { console.log("Error occurred: ", error); diff --git a/app/Views/editimportpo.php b/app/Views/editimportpo.php index eebb9a8f..9a7732dd 100755 --- a/app/Views/editimportpo.php +++ b/app/Views/editimportpo.php @@ -1,3 +1,99 @@ + + Requisition No Material Code Description + Line Item Specs Quantity UOM Rate @@ -763,6 +860,20 @@ if (!empty($getlogpodtl)) { ReqNo ?> MaterialCode ?> MaterialName ?> + + + + LineitemAuditorNotes) ? $record->LineitemAuditorNotes : "-"; ?> + + + LineitemAuditorNotes) ? $record->LineitemAuditorNotes : "-"; } ?> + Quantity ?> UOM ?> Rate ?> @@ -879,6 +990,7 @@ if (!empty($getlogpodtl)) { + -