diff --git a/app/Config/Routes.php b/app/Config/Routes.php index 6f6f030b..8f484d0c 100755 --- a/app/Config/Routes.php +++ b/app/Config/Routes.php @@ -221,6 +221,7 @@ $routes->match(['GET', 'POST', 'PUT', 'DELETE'],'purchaseorder/EditCapitalPurcha // $routes->match(['GET', 'POST', 'PUT', 'DELETE'],'POApproval', 'Purchaseorder::poapproval'); $routes->get('amendmentpurchaseorder','Amendmentpurchaseorder::index'); +$routes->post('amendmentpurchaseorderFilter','Amendmentpurchaseorder::index'); $routes->get('EditAmendPO', 'Amendmentpurchaseorder::EditAmendPurchaseOrder'); $routes->post('amendmentpurchaseorder/EditRevenuePurchaseOrder', 'Amendmentpurchaseorder::EditRevenuePurchaseOrder'); $routes->post('amendmentpurchaseorder/UpdateAmendServicePurchaseOrder', 'Amendmentpurchaseorder::UpdateAmendServicePurchaseOrder'); diff --git a/app/Controllers/Amendmentpurchaseorder.php b/app/Controllers/Amendmentpurchaseorder.php index b9bac72b..cecd2007 100755 --- a/app/Controllers/Amendmentpurchaseorder.php +++ b/app/Controllers/Amendmentpurchaseorder.php @@ -41,11 +41,33 @@ class Amendmentpurchaseorder extends BaseController public function index() { + + if ($this->request->getMethod() === 'GET') + { + $currentYear = date('Y'); + $currentMonth = date('m'); + $startOfMonth = "$currentYear-$currentMonth-01"; + $endOfMonth = date('Y-m-t'); + $fromDate = $startOfMonth; + $toDate = $endOfMonth; + } elseif ($this->request->getMethod() === 'POST') { + $fromDate = $this->request->getPost('fromDate'); + $toDate = $this->request->getPost('toDate'); + $fromDate = date('Y-m-d', strtotime($fromDate)); + $toDate = date('Y-m-d', strtotime($toDate)); + } + // $this->load->library('pagination'); $forwhat = 'amendment'; - $data['POData'] = $this->purchaseorder_model->purchaseorderListing($forwhat); + + $data['POData'] = $this->purchaseorder_model->purchaseorderListing($forwhat,$fromDate,$toDate); + $data['fromDate'] = date('d-m-Y', strtotime($fromDate)); + $data['toDate'] = date('d-m-Y', strtotime($toDate)); + $this->global['pageTitle'] = 'Amendment Purchase Order'; + $this->loadviews('AmendPOlist', $this->global, $data, NULL); + } /** diff --git a/app/Controllers/Purchaseorder.php b/app/Controllers/Purchaseorder.php index b655a10d..ae1b784f 100755 --- a/app/Controllers/Purchaseorder.php +++ b/app/Controllers/Purchaseorder.php @@ -109,21 +109,35 @@ class Purchaseorder extends BaseController function PurchaseOrderList() { - // $this->load->library('pagination'); - // $count = $this->purchaseorder_model->purchaseorderListingCount(''); + if ($this->request->getMethod() === 'GET') + { + $currentYear = date('Y'); + $currentMonth = date('m'); + $startOfMonth = "$currentYear-$currentMonth-01"; + $endOfMonth = date('Y-m-t'); + $fromDate = $startOfMonth; + $toDate = $endOfMonth; + } elseif ($this->request->getMethod() === 'POST') { + $fromDate = $this->request->getPost('fromDate'); + $toDate = $this->request->getPost('toDate'); + $fromDate = date('Y-m-d', strtotime($fromDate)); + $toDate = date('Y-m-d', strtotime($toDate)); + } - //$returns = $this->paginationCompress ( "purchaseorderListing/", $count, 10 ); - $this->purchaseorder_model->UpdateRequistionStatus(); + $this->purchaseorder_model->UpdateRequistionStatus(); + + $forwhat=''; + $data['POData'] = $this->purchaseorder_model->purchaseorderListing($forwhat ,$fromDate,$toDate); + $data['fromDate'] = date('d-m-Y', strtotime($fromDate)); + $data['toDate'] = date('d-m-Y', strtotime($toDate)); + - $data['POData'] = $this->purchaseorder_model->purchaseorderListing(); - // echo "
";
-    // print_r($data['POData']);die;
     $this->global['pageTitle'] = 'Purchase Orders';
     
-
     $this->loadViews("POlist", $this->global, $data, NULL);
+
   }
 
   function validate_req($str = null)
@@ -2539,16 +2553,34 @@ class Purchaseorder extends BaseController
   function porelease()
   {
 
+    if ($this->request->getMethod() === 'GET')
+    {
+     $currentYear = date('Y');
+     $currentMonth = date('m');
+     $startOfMonth = "$currentYear-$currentMonth-01"; 
+     $endOfMonth = date('Y-m-t');  
+     $fromDate = $startOfMonth;
+     $toDate = $endOfMonth;
+   } elseif ($this->request->getMethod() === 'POST') {
+     $fromDate = $this->request->getPost('fromDate');
+     $toDate = $this->request->getPost('toDate');
+     $fromDate =  date('Y-m-d', strtotime($fromDate)); 
+     $toDate = date('Y-m-d', strtotime($toDate)); 
+   }
+
     $q = "RELEASE";
     $this->global['pageTitle'] = 'Purchase Order Release';
     // $data['Status']= $this->purchaseorder_model->getStatus();
     $userID =  $this->session->get('userId');
     //print_r($data['Status']);echo "CON";
-    $appList = $this->purchaseorder_model->getPOList($q);
+    $appList = $this->purchaseorder_model->getPOList($q ,  $fromDate , $toDate);
     $filteredAppList = array_filter($appList, function ($item) {
       return $item->Status !== PO_DRAFT;
     });
     $data['AppList'] = $filteredAppList;
+    $data['fromDate'] =  date('d-m-Y', strtotime($fromDate)); 
+    $data['toDate'] = date('d-m-Y', strtotime($toDate)); 
+
     $this->loadViews("porelease_view", $this->global, $data, NULL);
   }
 
@@ -4384,7 +4416,6 @@ class Purchaseorder extends BaseController
     $newfile = $this->request->getFile('file');
 
     $Picture='';
-    $uploadfile=0;
     
     if (!empty($newfile)) {
 
@@ -4401,7 +4432,7 @@ class Purchaseorder extends BaseController
     }
    
 
-     if( $uploadfile['afftectedRows'] > 0){
+     if($uploadfile && $uploadfile['afftectedRows'] > 0){
 
         $response = [
           'message' => 'File updated successfully!',
diff --git a/app/Models/Purchaseorder_model.php b/app/Models/Purchaseorder_model.php
index 9edea48b..47e86528 100755
--- a/app/Models/Purchaseorder_model.php
+++ b/app/Models/Purchaseorder_model.php
@@ -387,8 +387,11 @@ mstr.CourierNo,pom.Status,pom.POType') //,bill.BillNo,bill.FilePath,
 	 * @return array $result : This is result
 	 */
 
-	function purchaseorderListing($forwhat = '')
+	function purchaseorderListing($forwhat ,$fromDate='',$toDate='')
 	{
+		
+		 
+
 		$builder = $this->db->table('t_purchaseorder_master POMast')->distinct()
 			->select('POMast.PONO,POMast.CreatedDate,supp.SupplierName,TotalOrderValue,PODate,Stat.StatusName,Stat.StatusCode,POMast.POType as ReqType,DeliveryDate,DeliverySchedule,DeliveryOption,POMast.CapitalRange')
 			->join('t_supplierdetailsn supp', 'supp.SupplierID = POMast.SupplierID')
@@ -401,6 +404,11 @@ mstr.CourierNo,pom.Status,pom.POType') //,bill.BillNo,bill.FilePath,
 			$builder->where('POMast.Status !=', PO_AMENDED);
 			// $builder->orderBy('POMast.Status !=',PO_AMENDED);
 		}
+		
+		$builder->where('POMast.CreatedDate >=', $fromDate)
+				->where('POMast.CreatedDate <=', $toDate);
+		
+
 		$builder->orderBy('POMast.CreatedDate', 'desc');
 		$query = $builder->get();
 
@@ -1584,7 +1592,7 @@ mstr.CourierNo,pom.Status,pom.POType') //,bill.BillNo,bill.FilePath,
 				 * @return array $result : This is result of the query
 				 * join t_departmentdetails Dept on  emp.Departmentcode = Dept.DEPCode 
 				 */
-				function getPOList($type)
+				function getPOList($type, $fromDate , $toDate)
 				{
 
 
@@ -1604,7 +1612,7 @@ mstr.CourierNo,pom.Status,pom.POType') //,bill.BillNo,bill.FilePath,
 						->join('t_employee_details as emp', 'emp.empid=tbl.empid', 'left')
 						->join('t_departmentdetails as Dep', 'Dep.DEPCode=emp.Departmentcode', 'left');
 
-					// old Status Don't Deleted it.
+					// old Status Don't Delete it.
 					// if ($type == 'APPROVAL') {
 					// 	$builder->orWhere('mast.Status', PO_DRAFT);
 					// 	$builder->orWhere('mast.Status', PO_CREATED);
@@ -1631,6 +1639,10 @@ mstr.CourierNo,pom.Status,pom.POType') //,bill.BillNo,bill.FilePath,
 						$builder->orWhere('mast.Status', REQITEM_Emergency_PO_CREATED);
 						// $builder->orderBy('mast.Status');
 					}
+
+					$builder->where('mast.CreatedDate >=', $fromDate)
+					->where('mast.CreatedDate <=', $toDate);
+
 					$builder->orderBy('mast.CreatedDate', 'DESC');
 
 					$result = $builder->get();
@@ -2325,7 +2337,7 @@ mstr.CourierNo,pom.Status,pom.POType') //,bill.BillNo,bill.FilePath,
 			function updatefile($bill, $Picture)
 			{
 
-				$uploadfile;
+				$uploadfile=[];
 				$this->db->table('t_purchaseorder_billupload')
 					->set('FilePath', $Picture)   
 					->where('BillNo', $bill) 
diff --git a/app/Views/AmendPOlist.php b/app/Views/AmendPOlist.php
index ef5e1383..611acc01 100755
--- a/app/Views/AmendPOlist.php
+++ b/app/Views/AmendPOlist.php
@@ -82,16 +82,29 @@
                 
-
- - - - - - - -
-
+
+ + + + + + + + + + + + +
+
@@ -296,7 +309,7 @@ $("#resetButton").click(function() { $("#fromDate").val(''); $("#toDate").val(''); - table.draw(); // Redraw the table to clear the filter + window.location="amendmentpurchaseorder" }); // Automatically focus and open the To Date picker when From Date is selected diff --git a/app/Views/POlist.php b/app/Views/POlist.php index a3696fa1..00693550 100755 --- a/app/Views/POlist.php +++ b/app/Views/POlist.php @@ -108,23 +108,34 @@
-
- + + - + - + - - + + + + +
- + @@ -136,7 +147,7 @@ - + - @@ -266,7 +277,7 @@ var table = $('#po_list').DataTable({ dom: 'Blfrtip', // Buttons, length menu, filter, table, information, pagination buttons: [ - 'copy', 'csv', 'excel', 'pdf', 'print' // Export buttons + 'csv', 'excel', 'pdf', // Export buttons ], pageLength: 10, // Default rows per page lengthMenu: [ @@ -288,67 +299,15 @@ } }); - // Date range filter function - $.fn.dataTable.ext.search.push( - function(settings, data, dataIndex) { - var fromDate = $('#fromDate').val(); - var toDate = $('#toDate').val(); - console.log(fromDate); // e.g., 01-09-2024 - console.log(toDate); // e.g., 08-09-2024 - - if (!fromDate || !toDate) { - return true; // If no dates selected, don't filter - } - - // Convert the fromDate and toDate from dd-mm-yyyy to Date objects - var fromParts = fromDate.split("-"); - var toParts = toDate.split("-"); - - var startDate = new Date(fromParts[2], fromParts[1] - 1, fromParts[0]); // Year, month (0-based), day - var endDate = new Date(toParts[2], toParts[1] - 1, toParts[0]); - - // Adjust startDate to include the day before the selected fromDate - startDate.setDate(startDate.getDate() - 1); - - // Ensure endDate includes the entire end date by setting time to the end of the day - endDate.setHours(23, 59, 59, 999); - - // Get the date from the DataTable row (assuming it's in the first column in dd-mm-yyyy format) - var dateStr = data[0]; - var dateParts = dateStr.split("-"); - var rowDate = new Date(dateParts[2], dateParts[1] - 1, dateParts[0]); - - // Return true if the row date is within the range - return rowDate >= startDate && rowDate <= endDate; - } - ); - - // Handle form submission for the date range filter - $("#DateRangeFilter").submit(function(e) { - e.preventDefault(); - table.draw(); // Redraw the table to apply the filter - }); // Reset button functionality $("#resetButton").click(function() { $("#fromDate").val(''); $("#toDate").val(''); - table.draw(); // Redraw the table to clear the filter + window.location='purchaseorderListing' }); - // Automatically focus and open the To Date picker when From Date is selected - document.getElementById('fromDate').addEventListener('change', function() { - var fromDate = this.value; - var toDateInput = document.getElementById('toDate'); - - // Set the min attribute of the To Date input to the selected From Date - toDateInput.min = fromDate; - - // Optionally reset the To Date input if the current value is before the new min date - if (toDateInput.value < fromDate) { - toDateInput.value = fromDate; - } - }); + }); $(document).ready(function() { diff --git a/app/Views/addasset.php b/app/Views/addasset.php index 6abc9ee0..d477a31a 100755 --- a/app/Views/addasset.php +++ b/app/Views/addasset.php @@ -276,7 +276,7 @@ $('#loader').show(); $.ajax({ type: 'POST', - url: "assetdetails/getline", + url: "assetdetails/getline", data: 'line=' + line, success: function(data) { $.each(JSON.parse(data), function(i, item) { diff --git a/app/Views/porelease_view.php b/app/Views/porelease_view.php index c2a78af0..f350a4f1 100755 --- a/app/Views/porelease_view.php +++ b/app/Views/porelease_view.php @@ -146,18 +146,29 @@ if (empty($Status)) {
-
- - - + + + + - - + + - - -
- + + + + + +
+
PO DateCreated Date PONO# PO Type Supplier NameAction
PODate); + CreatedDate); $PODate = $Pdt->format('d-m-Y'); echo $PODate ?>
@@ -560,7 +571,7 @@ if (empty($Status)) { var table = $('#po_release').DataTable({ dom: 'Blfrtip', // Buttons, length menu, filter, table, information, pagination buttons: [ - 'copy', 'csv', 'excel', 'pdf', 'print' // Export buttons + 'csv', 'excel', 'pdf' // Export buttons ], pageLength: 10, // Default rows per page lengthMenu: [ @@ -583,67 +594,15 @@ if (empty($Status)) { }); - // Date range filter function - $.fn.dataTable.ext.search.push( - function(settings, data, dataIndex) { - var fromDate = $('#fromDate').val(); - var toDate = $('#toDate').val(); - console.log(fromDate); // e.g., 01-09-2024 - console.log(toDate); // e.g., 08-09-2024 - - if (!fromDate || !toDate) { - return true; // If no dates selected, don't filter - } - - // Convert the fromDate and toDate from dd-mm-yyyy to Date objects - var fromParts = fromDate.split("-"); - var toParts = toDate.split("-"); - - var startDate = new Date(fromParts[2], fromParts[1] - 1, fromParts[0]); // Year, month (0-based), day - var endDate = new Date(toParts[2], toParts[1] - 1, toParts[0]); - - // Adjust startDate to include the day before the selected fromDate - startDate.setDate(startDate.getDate() - 1); - - // Ensure endDate includes the entire end date by setting time to the end of the day - endDate.setHours(23, 59, 59, 999); - - // Get the date from the DataTable row (assuming it's in the first column in dd-mm-yyyy format) - var dateStr = data[0]; - var dateParts = dateStr.split("-"); - var rowDate = new Date(dateParts[2], dateParts[1] - 1, dateParts[0]); - - // Return true if the row date is within the range - return rowDate >= startDate && rowDate <= endDate; - } - ); - - // Handle form submission for the date range filter - $("#DateRangeFilter").submit(function(e) { - e.preventDefault(); - table.draw(); // Redraw the table to apply the filter - }); - // Reset button functionality $("#resetButton").click(function() { $("#fromDate").val(''); $("#toDate").val(''); - table.draw(); // Redraw the table to clear the filter + window.location="PORelease" }); // Automatically focus and open the To Date picker when From Date is selected - document.getElementById('fromDate').addEventListener('change', function() { - var fromDate = this.value; - var toDateInput = document.getElementById('toDate'); - - // Set the min attribute of the To Date input to the selected From Date - toDateInput.min = fromDate; - - // Optionally reset the To Date input if the current value is before the new min date - if (toDateInput.value < fromDate) { - toDateInput.value = fromDate; - } - }); + }); $(document).ready(function() { $('.supplier-content').on('click', function() {