diff --git a/SAS/TMSS/frontend/tmss_webapp/src/components/ViewTable.js b/SAS/TMSS/frontend/tmss_webapp/src/components/ViewTable.js
index 23f23765ba4f5e329e71f49e231bfc433ea0cee6..ce1ec38625e05519aa7ae43e01a977a7fb310e5a 100644
--- a/SAS/TMSS/frontend/tmss_webapp/src/components/ViewTable.js
+++ b/SAS/TMSS/frontend/tmss_webapp/src/components/ViewTable.js
@@ -1,7 +1,7 @@
 import React, { useRef, useState } from "react";
 import { useSortBy, useTable, useFilters, useGlobalFilter, useAsyncDebounce, usePagination, useRowSelect, useColumnOrder } from 'react-table'
 import matchSorter from 'match-sorter'
-import _ from 'lodash';
+import _, { filter } from 'lodash';
 import moment from 'moment';
 import { useHistory } from "react-router-dom";
 import { OverlayPanel } from 'primereact/overlaypanel';
@@ -19,6 +19,7 @@ import { RadioButton } from 'primereact/radiobutton';
 import { useExportData } from "react-table-plugins";
 import { ProgressBar } from 'primereact/progressbar';
 //import UIConstants from '../utils/ui.constants';
+import UtilService from '../../src/services/util.service'
 import Papa from "papaparse";
 import JsPDF from "jspdf";
 import "jspdf-autotable";
@@ -45,6 +46,8 @@ let hasFilters = false;
 let loadingStatus = false;
 let tmpTableData = null;
 let currentTableName = null;
+let storeFilter = false;
+let storage_array = [];
 
 // Define a default UI for filtering
 function GlobalFilter({
@@ -75,9 +78,21 @@ function DefaultColumnFilter({
   const [filtered, setFiltered] = useState(false);
   React.useEffect(() => {
     if (!filterValue && value) {
-      setValue('');
+      setValue('');     
     }
   }, [filterValue, value]);
+  
+  React.useEffect(() => {
+    let localstorage_key = window.location.pathname.split('/')[1];
+    let storage =  UtilService.localStore({ type: 'get', key: localstorage_key }); 
+    let storageStatus =_.filter(storage, function (filter) {
+    if ( filter.name === Header && storeFilter) {
+      setValue(filter.value);
+      setFilter(filter.value);
+        return true;
+      }
+    })
+  }, []);
 
   // Function to call the server side filtering
   const callServerFilter = (event, isCleared) => {
@@ -91,8 +106,7 @@ function DefaultColumnFilter({
       }   else {
           filterCallback(tableOptionsState, setLoaderFunction);
       }
-  };
-
+  }; 
   return (
     <>
         <div className="table-filter" onClick={e => { e.stopPropagation() }} style={{marginRight: '5px'}}>
@@ -101,6 +115,29 @@ function DefaultColumnFilter({
               onChange={e => {
                 setValue(e.target.value);
                 setFilter(e.target.value || undefined) // Set undefined to remove the filter entirely
+                if(storeFilter) {
+                  let localstorage_key = window.location.pathname.split('/')[1];
+                  let storage =  UtilService.localStore({ type: 'get', key: localstorage_key }); 
+                  if(storage && storage.length > 0) {
+                    storage.forEach(function(value, index) {
+                      if(value.name === Header) {
+                        value.name =  Header
+                        value.value =  e.target.value
+                      }
+                    });
+                    const selected = _.filter(storage, function (filter) {
+                      if ( filter.name === Header) {
+                        return true;
+                      }
+                    })
+                    if(selected.length <= 0) {
+                      storage.push({name: Header, value: e.target.value})
+                    }
+                  } else {
+                    storage = [{name: Header, value: e.target.value}]
+                  }
+                  UtilService.localStore({ type: 'set', key: localstorage_key, value: storage });
+                  }
               }}
               onKeyUp={(e) => {
                 if (e.key === "Enter" && doServersideFilter) {
@@ -119,6 +156,29 @@ function DefaultColumnFilter({
                     setValue('');
                     callServerFilter(e, true);
                   }
+                  if(storeFilter) {
+                    let localstorage_key = window.location.pathname.split('/')[1];
+                    let storage =  UtilService.localStore({ type: 'get', key: localstorage_key }); 
+                  if(storage && storage.length > 0) {
+                    storage.forEach(function(value, index) {
+                      if(value.name === Header) {
+                        value.name =  Header
+                        value.value =  e.target.value
+                      }
+                    });
+                    const selected = _.filter(storage, function (filter) {
+                      if ( filter.name === Header) {
+                        return true;
+                      }
+                    })
+                    if(selected.length <= 0) {
+                      storage.push({name: Header, value: e.target.value})
+                    }
+                  } else {
+                    storage = [{name: Header, value: e.target.value}]
+                  }
+                  UtilService.localStore({ type: 'set', key: localstorage_key, value: storage });
+                }
                 }} />
             }
         </div>
@@ -127,6 +187,32 @@ function DefaultColumnFilter({
   )
 }
 
+const setStoreData = (id, value) => { 
+  debugger
+  let localstorage_key = window.location.pathname.split('/')[1];
+  let storage =  UtilService.localStore({ type: 'get', key: localstorage_key }); 
+  if(storage && storage.length > 0) {
+              storage.forEach(function(value, index) {
+                if(value.name === id) {
+                  value.name =  id
+                  value.value = value
+                }
+              });
+              const selected = _.filter(storage, function (filter) {
+                if ( filter.name === id) {
+                  return true;
+                }
+              })
+              if(selected.length <= 0) {
+                storage.push({name: id, value: value})
+              }
+            } else {
+              storage = [{name: id, value: value}]
+            }
+            UtilService.localStore({ type: 'set', key: localstorage_key, value: storage });
+}
+
+
 /* 
 Generate and download csv 
 */
@@ -232,6 +318,7 @@ function SelectColumnFilter({
               setFiltered(true);
               callServerFilter(e, false);
             }
+            
           }
         }}
       >
@@ -390,8 +477,8 @@ function BooleanColumnFilter({
 }
 
 // This is a custom filter UI that uses a
-// calendar to set the value
-function CalendarColumnFilter({
+// calendar to set the valueCalendar
+function ColumnFilter({
   column: { setFilter, filterValue, Header },
 }) {
   // Calculate the min and max
@@ -403,6 +490,20 @@ function CalendarColumnFilter({
       setValue(null);
     }
   }, [filterValue, value]);
+
+  React.useEffect(() => {
+    // let localstorage_key = window.location.pathname.split('/')[1];
+    // let storage =  UtilService.localStore({ type: 'get', key: localstorage_key }); 
+    // let storageStatus =_.filter(storage, function (filter) {
+    // if ( filter.name === Header && storeFilter) {
+    //   setValue(filter.value);
+    //   setFilter(filter.value);
+    //   setFiltered(true);
+    //     return true;
+    //   }
+    // })
+  }, []);
+
   // Function to call the server side filtering
   const callServerFilter = (event, isCleared) => {
     hasFilters = true;
@@ -428,6 +529,29 @@ function CalendarColumnFilter({
           setFiltered(true);
           callServerFilter(e);
         }
+        // if(storeFilter) {
+        //   let localstorage_key = window.location.pathname.split('/')[1];
+        //   let storage =  UtilService.localStore({ type: 'get', key: localstorage_key }); 
+        //   if(storage && storage.length > 0) {
+        //     storage.forEach(function(value, index) {
+        //       if(value.name === Header) {
+        //         value.name =  Header
+        //         value.value = moment(e.value).format('YYYY-MM-DD')
+        //       }
+        //     });
+        //     const selected = _.filter(storage, function (filter) {
+        //       if ( filter.name === Header) {
+        //         return true;
+        //       }
+        //     })
+        //     if(selected.length <= 0) {
+        //       storage.push({name: Header, value: moment(e.value).format('YYYY-MM-DD')})
+        //     }
+        //   } else {
+        //     storage = [{name: Header, value: value}]
+        //   }
+        //   UtilService.localStore({ type: 'set', key: localstorage_key, value: storage });
+        //   }
       }} 
       showIcon></Calendar>
       {value && <i onClick={(e) => { setFilter(undefined); setValue(''); setFiltered(false);
@@ -515,7 +639,6 @@ function DateTimeColumnFilter({
       }
   };
   return (
-
     <div className="table-filter" onClick={e => { e.stopPropagation() }}>
       <Calendar value={value} appendTo={document.body} dateFormat="yy/mm/dd"
        onKeyUp={(e) => {
@@ -707,6 +830,16 @@ function RangeColumnFilter({
   if (filterValue.length === 0) {
     filterValue = [min, max];
   }
+  React.useEffect(() => {
+    let localstorage_key = window.location.pathname.split('/')[1];
+    let storage =  UtilService.localStore({ type: 'get', key: localstorage_key }); 
+    let storageStatus =_.filter(storage, function (filter) {
+    if ( filter.name === id && storeFilter) {
+      setFilter(filter.value);
+        return true;
+      }
+    })
+  }, []);
 
   return (
     <>
@@ -716,7 +849,33 @@ function RangeColumnFilter({
       </div>
       <Slider value={filterValue} min={min} max={max} className="filter-slider"
         style={{}}
-        onChange={(e) => { setFilter(e.value); }} range />
+        onChange={(e) => { 
+          setFilter(e.value); 
+          if(storeFilter) {
+            // setStoreData(id, e.value)
+            let localstorage_key = window.location.pathname.split('/')[1];
+            let storage =  UtilService.localStore({ type: 'get', key: localstorage_key }); 
+            if(storage && storage.length > 0) {
+              storage.forEach(function(value, index) {
+                if(value.name === id) {
+                  value.name =  id
+                  value.value =  e.value
+                }
+              });
+              const selected = _.filter(storage, function (filter) {
+                if ( filter.name === id) {
+                  return true;
+                }
+              })
+              if(selected.length <= 0) {
+                storage.push({name: id, value: e.value})
+              }
+            } else {
+              storage = [{name: id, value: e.value}]
+            }
+            UtilService.localStore({ type: 'set', key: localstorage_key, value: storage });
+          }
+          }} range />
     </>
   );
 }
@@ -810,11 +969,7 @@ const filterTypes = {
   },
   'slider': {
     fn: SliderColumnFilter
-  },
-  'date': {
-    fn: CalendarColumnFilter,
-    type: dateFilterFn
-  },
+  },  
   'dateRange': {
     fn: DateRangeColumnFilter,
     type: dateRangeFilterFn
@@ -1127,6 +1282,7 @@ function Table(props) {
       filterCallback(tableOptionsState, setLoaderFunction);
     }
   }
+  
   return (
     <>
       <div style={{display:'flex',justifyContent:'space-between',height:'35px'}}>
@@ -1320,6 +1476,7 @@ function ViewTable(props) {
   let defaultheader = props.defaultcolumns;
   let optionalheader = props.optionalcolumns;
   let defaultSortColumn = props.defaultSortColumn;
+  storeFilter = props.storeFilter? props.storeFilter : false
   let tablename = (props.tablename) ? props.tablename : window.location.pathname;
 
   if (!defaultSortColumn) {
@@ -1466,14 +1623,22 @@ function ViewTable(props) {
   // const [loading, setLoading] = React.useState(false);
   const [currentPage, setCurrentPage] = React.useState(0);
   const fetchData = React.useCallback( ({ state, setLoading }) => {
-      loadServerData(state, setLoading);
+      loadServerData(state, setLoading, true);
   }, []);
   
-  const loadServerData = (state, setLoading) => {
+  const loadServerData = (state, setLoading, onload) => {
       //setLoading(true);
       loadingStatus = true;
       setCurrentPage(state.pageIndex);
       if(props.callBackFunction) {
+        if(storeFilter) {
+          if (onload) {
+            let filters = UtilService.localStore({ type: 'get', key: tablename });
+            UtilService.localStore({ type: 'set', key: tablename, value: filters});    
+          } else {
+            UtilService.localStore({ type: 'set', key: tablename, value: state.filters});    
+          }
+        }
           const promises = [props.callBackFunction(state)];
           Promise.all(promises).then(async responses => {
               tbldata = responses[0][0];
diff --git a/SAS/TMSS/frontend/tmss_webapp/src/routes/Cycle/list.js b/SAS/TMSS/frontend/tmss_webapp/src/routes/Cycle/list.js
index b137037c0a2ef0ba24b5a175c035de0dc74cf37b..2a4677a5b880a18d3ac0ad0974b3a91cfb78b3ce 100644
--- a/SAS/TMSS/frontend/tmss_webapp/src/routes/Cycle/list.js
+++ b/SAS/TMSS/frontend/tmss_webapp/src/routes/Cycle/list.js
@@ -227,6 +227,7 @@ class CycleList extends Component {
                         lsKeySortColumn={this.lsKeySortColumn}
                         descendingColumn={this.descendingColumn}
                         pageUpdated={this.pageUpdated}
+                        storeFilter={true}
                     /> : <></>
                 }
             </>
diff --git a/SAS/TMSS/frontend/tmss_webapp/src/routes/Project/list.js b/SAS/TMSS/frontend/tmss_webapp/src/routes/Project/list.js
index 03059fa023d9afc16439c9e2bf73a3312959c90e..4d3aab883012407ee66120c2cb8cfbf41da04f30 100644
--- a/SAS/TMSS/frontend/tmss_webapp/src/routes/Project/list.js
+++ b/SAS/TMSS/frontend/tmss_webapp/src/routes/Project/list.js
@@ -216,6 +216,7 @@ export class ProjectList extends Component {
                         toggleBySorting={(sortData) => this.toggleBySorting(sortData)}
                         lsKeySortColumn={this.lsKeySortColumn}
                         pageUpdated={this.pageUpdated}
+                        storeFilter={true}
                     />                   
                     : <div>No project found </div>
                 }
diff --git a/SAS/TMSS/frontend/tmss_webapp/src/routes/Scheduling/SchedulingUnitList.js b/SAS/TMSS/frontend/tmss_webapp/src/routes/Scheduling/SchedulingUnitList.js
index b75e6c8cbb596f02bce97a30cbf04ce7ae1a84db..2319f4bdc0e74d5faffe54055b5d210924387869 100644
--- a/SAS/TMSS/frontend/tmss_webapp/src/routes/Scheduling/SchedulingUnitList.js
+++ b/SAS/TMSS/frontend/tmss_webapp/src/routes/Scheduling/SchedulingUnitList.js
@@ -885,25 +885,31 @@ class SchedulingUnitList extends Component{
      * @returns 
      */
     async fetchTableData(state) {
+        // UtilService.localStore({ type: 'set', key: 'schedulingUnitFilter' ,value:state.filters});    
         this.filterQry = '';
         this.orderBy = '';
         this.pageUpdated = true;
         this.setState({loadingStatus:true});
-        for( const filter of state.filters) {
-            if (filter.id === 'Start Time') {
-                this.filterQry += 'start_time_after='+filter.value+'&start_time_before='+_.replace(filter.value, '00:00:00', '23:59:59')+'&';
-            }   else if (filter.id === 'End Time') {
-                //let end = moment.utc(moment(filter.value, 'YYYY-MM-DDTHH:mm:SS').format("YYYY-MM-DDTHH:mm:SS"));
-                //end = moment(end, "DD-MM-YYYY").add(1, 'days');
-                //filter.value = _.replace(filter.value, '00:00:00', '23:59:59');
-                this.filterQry += 'stop_time_after='+filter.value+'&stop_time_before='+_.replace(filter.value, '00:00:00', '23:59:59')+'&'
-            }   else {
-                let columnDetails = _.find(this.state.columnMap, {displayName:filter.id});
-                if(columnDetails) {
-                    this.filterQry += columnDetails.orgField +'='+filter.value+'&'
+        let filters = UtilService.localStore({ type: 'get', key: "scheduleunit_list_"+this.state.suType });
+        debugger
+        if(filters.length > 0 ) {
+            for( const filter of filters) {
+                if (filter.id === 'Start Time') {
+                    this.filterQry += 'start_time_after='+filter.value+'&start_time_before='+_.replace(filter.value, '00:00:00', '23:59:59')+'&';
+                }   else if (filter.id === 'End Time') {
+                    //let end = moment.utc(moment(filter.value, 'YYYY-MM-DDTHH:mm:SS').format("YYYY-MM-DDTHH:mm:SS"));
+                    //end = moment(end, "DD-MM-YYYY").add(1, 'days');
+                    //filter.value = _.replace(filter.value, '00:00:00', '23:59:59');
+                    this.filterQry += 'stop_time_after='+filter.value+'&stop_time_before='+_.replace(filter.value, '00:00:00', '23:59:59')+'&'
+                }   else {
+                    let columnDetails = _.find(this.state.columnMap, {displayName:filter.id});
+                    if(columnDetails) {
+                        this.filterQry += columnDetails.orgField +'='+filter.value+'&'
+                    }
                 }
             }
         }
+
         let sortBy = state.sortBy?state.sortBy[0]:null;
         if (sortBy) {
             this.setState({defaultSortColumn: [sortBy]}); 
@@ -1119,6 +1125,7 @@ class SchedulingUnitList extends Component{
                         loadingStatus={this.state.loadingStatus}
                         showFilterOption={this.getFilterOptions} //Callback function to provide inputs for option-list in Select Dropdown filter
                         pageUpdated={this.pageUpdated}
+                        storeFilter={true}
                     />
                     :<div>No Scheduling Unit found</div>
                  }  
diff --git a/SAS/TMSS/frontend/tmss_webapp/src/routes/Task/list.js b/SAS/TMSS/frontend/tmss_webapp/src/routes/Task/list.js
index ea37b6ee52fbf8a21eb9052bdafc17621d273d8a..050220e9306bff4b20b03991ac6a24f3e0e3b8c1 100644
--- a/SAS/TMSS/frontend/tmss_webapp/src/routes/Task/list.js
+++ b/SAS/TMSS/frontend/tmss_webapp/src/routes/Task/list.js
@@ -654,7 +654,10 @@ export class TaskList extends Component {
         this.orderBy = '';
         this.pageUpdated = true;
         this.setState({loadingStatus:true});
-        for( const filter of state.filters) {
+        let filters = UtilService.localStore({ type: 'get', key: "su_task_list_"+this.state.taskType });
+        debugger
+        if(filters.length > 0 ) {
+            for( const filter of filters) {
             if (filter.id === 'Start Time') {
                 this.filterQry += 'start_time_after='+filter.value+'&start_time_before='+_.replace(filter.value, '00:00:00', '23:59:59')+'&';
             }   else if (filter.id === 'End Time') {
@@ -666,6 +669,7 @@ export class TaskList extends Component {
                 }
             }
         }
+    }
         let sortBy = state.sortBy?state.sortBy[0]:null;
         if (sortBy) {
             this.setState({defaultSortColumn: [sortBy]}); 
@@ -726,6 +730,7 @@ export class TaskList extends Component {
                             callBackFunction={this.fetchTableData} 
                             loadingStatus={this.state.loadingStatus}
                             showGlobalFilter={false}
+                            storeFilter={true}
                         />
                     </>
                 }
diff --git a/SAS/TMSS/frontend/tmss_webapp/src/routes/Workflow/workflow.list.js b/SAS/TMSS/frontend/tmss_webapp/src/routes/Workflow/workflow.list.js
index 1d91f6a3aa685e765093bc1e6fb4126720aa7084..863d39d29710d979678d3841b6e86d81de4ce899 100644
--- a/SAS/TMSS/frontend/tmss_webapp/src/routes/Workflow/workflow.list.js
+++ b/SAS/TMSS/frontend/tmss_webapp/src/routes/Workflow/workflow.list.js
@@ -87,10 +87,9 @@ class WorkflowList extends Component{
             this.workflowTasksList = responses[1];
             this.schedulingUnitList = responses[2].data.results;
             this.prepareWorkflowProcesslist();
-        });
+        }); 
+    }   
         
-        
-    }
     toggleBySorting = (sortData) => {
         UtilService.localStore({ type: 'set', key: this.lsKeySortColumn, value: sortData });
     }
@@ -309,6 +308,7 @@ class WorkflowList extends Component{
                             defaultSortColumn= {this.defaultSortColumn}
                             showFilterOption={this.getFilterOptions} //Callback function to provide inputs for option-list in Select Dropdown filter
                             pageUpdated={this.pageUpdated}
+                           // storeFilter={true}
                         />
                     </>
                     :<div>No Workflow Process SU found</div>