add structure for fetching member practice summary from backend
This commit is contained in:
@@ -4,21 +4,26 @@ import { Container, Button } from 'semantic-ui-react';
|
|||||||
|
|
||||||
import MainMenu from '../../components/MainMenu';
|
import MainMenu from '../../components/MainMenu';
|
||||||
|
|
||||||
|
import { fetchMemberPracticeSummaryReport } from '../../store/actions';
|
||||||
|
|
||||||
class MemberPracticeSummaryReport extends Component {
|
class MemberPracticeSummaryReport extends Component {
|
||||||
render () {
|
render () {
|
||||||
|
const { fetchMemberPracticeSummaryReport } = this.props;
|
||||||
return (
|
return (
|
||||||
<Container>
|
<Container>
|
||||||
<MainMenu/>
|
<MainMenu/>
|
||||||
<h3>Member Practice Summary Report</h3>
|
<h3>Member Practice Summary Report</h3>
|
||||||
<hr/>
|
<hr/>
|
||||||
<br/>
|
<br/>
|
||||||
<Button>Generate Report</Button>
|
<Button onClick={fetchMemberPracticeSummaryReport}>Generate Report</Button>
|
||||||
</Container>
|
</Container>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const mapStateToProps = (state) => ({});
|
const mapStateToProps = (state) => ({});
|
||||||
const mapDispatchToProps = (dispatch) => ({});
|
const mapDispatchToProps = (dispatch) => ({
|
||||||
|
fetchMemberPracticeSummaryReport: () => fetchMemberPracticeSummaryReport(dispatch),
|
||||||
|
});
|
||||||
|
|
||||||
export default connect(mapStateToProps, mapDispatchToProps)(MemberPracticeSummaryReport);
|
export default connect(mapStateToProps, mapDispatchToProps)(MemberPracticeSummaryReport);
|
||||||
|
|||||||
@@ -20,6 +20,9 @@ import {
|
|||||||
CHECK_PROCESSING_PENDING,
|
CHECK_PROCESSING_PENDING,
|
||||||
CHECK_PROCESSING_SUCCESS,
|
CHECK_PROCESSING_SUCCESS,
|
||||||
CHECK_PROCESSING_FAILED,
|
CHECK_PROCESSING_FAILED,
|
||||||
|
FETCH_MEMBER_PRACTICE_SUMMARY_REPORT_PENDING,
|
||||||
|
FETCH_MEMBER_PRACTICE_SUMMARY_REPORT_SUCCESS,
|
||||||
|
FETCH_MEMBER_PRACTICE_SUMMARY_REPORT_FAILED,
|
||||||
} from '../constants';
|
} from '../constants';
|
||||||
|
|
||||||
import API from '../../utilities/api';
|
import API from '../../utilities/api';
|
||||||
@@ -109,3 +112,14 @@ export const checkProcessing = (dispatch) => {
|
|||||||
dispatch({type: CHECK_PROCESSING_FAILED, payload: error.response});
|
dispatch({type: CHECK_PROCESSING_FAILED, payload: error.response});
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const fetchMemberPracticeSummaryReport = (dispatch) => {
|
||||||
|
dispatch({type: FETCH_MEMBER_PRACTICE_SUMMARY_REPORT_PENDING});
|
||||||
|
API.get('integration/report/practiceSummary')
|
||||||
|
.then(response => {
|
||||||
|
dispatch({type: FETCH_MEMBER_PRACTICE_SUMMARY_REPORT_SUCCESS, payload: response.data});
|
||||||
|
})
|
||||||
|
.catch(error => {
|
||||||
|
dispatch({type: FETCH_MEMBER_PRACTICE_SUMMARY_REPORT_FAILED, payload: error.response});
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|||||||
@@ -29,3 +29,7 @@ export const ADD_FEES_TO_ORD_FAILED = 'ADD_FEES_TO_ORD_FAILED';
|
|||||||
export const CHECK_PROCESSING_PENDING = 'CHECK_PROCESSING_PENDING';
|
export const CHECK_PROCESSING_PENDING = 'CHECK_PROCESSING_PENDING';
|
||||||
export const CHECK_PROCESSING_SUCCESS = 'CHECK_PROCESSING_SUCCESS';
|
export const CHECK_PROCESSING_SUCCESS = 'CHECK_PROCESSING_SUCCESS';
|
||||||
export const CHECK_PROCESSING_FAILED = 'CHECK_PROCESSING_FAILED';
|
export const CHECK_PROCESSING_FAILED = 'CHECK_PROCESSING_FAILED';
|
||||||
|
|
||||||
|
export const FETCH_MEMBER_PRACTICE_SUMMARY_REPORT_PENDING = 'FETCH_MEMBER_PRACTICE_SUMMARY_REPORT_PENDING';
|
||||||
|
export const FETCH_MEMBER_PRACTICE_SUMMARY_REPORT_SUCCESS = 'FETCH_MEMBER_PRACTICE_SUMMARY_REPORT_SUCCESS';
|
||||||
|
export const FETCH_MEMBER_PRACTICE_SUMMARY_REPORT_FAILED = 'FETCH_MEMBER_PRACTICE_SUMMARY_REPORT_FAILED';
|
||||||
|
|||||||
@@ -68,6 +68,7 @@ const integrationServiceErrors = {
|
|||||||
FAILED_TO_SAVE_DOOR_LOCK_ENTRIES: 'Failed to save door lock entries',
|
FAILED_TO_SAVE_DOOR_LOCK_ENTRIES: 'Failed to save door lock entries',
|
||||||
FAILED_TO_SAVE_DATA_GENERIC: 'Failed to save data',
|
FAILED_TO_SAVE_DATA_GENERIC: 'Failed to save data',
|
||||||
INVALID_DATE_RANGE: 'Dates in date range are invalid',
|
INVALID_DATE_RANGE: 'Dates in date range are invalid',
|
||||||
|
FAILED_TO_GENERATE_MEMBER_PRACTICE_SUMMARY: 'Failed to generate Member Practice Summary',
|
||||||
};
|
};
|
||||||
|
|
||||||
const incidentType = {
|
const incidentType = {
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
const { getMappingsFromDatabase, fetchOffices, fetchResources, saveNewMappingToDatabase } = require('../services/officeRnD/resources');
|
const { getMappingsFromDatabase, fetchOffices, fetchResources, saveNewMappingToDatabase } = require('../services/officeRnD/resources');
|
||||||
const { getAllIncidents } = require('../services/integration/reports');
|
const { getAllIncidents, getMemberPracticeSummaryReport } = require('../services/integration/reports');
|
||||||
const { getMembersFeesForDateRange } = require('../services/integration/invoiceIntegration');
|
const { getMembersFeesForDateRange } = require('../services/integration/invoiceIntegration');
|
||||||
const { deleteFeesFromORD, addFeesToORD } = require('../services/officeRnD/fees');
|
const { deleteFeesFromORD, addFeesToORD } = require('../services/officeRnD/fees');
|
||||||
const { checkBookingChanges } = require('../services/integration/checkBookingChange');
|
const { checkBookingChanges } = require('../services/integration/checkBookingChange');
|
||||||
@@ -126,6 +126,16 @@ const checkProcessingStatus = (req, res) => {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const getPracticeSummaryReport = (req, res) => {
|
||||||
|
getMemberPracticeSummaryReport()
|
||||||
|
.then(() => {
|
||||||
|
res.send();
|
||||||
|
})
|
||||||
|
.catch((error) => {
|
||||||
|
res.status(500).send(error);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
getKnownOfficeResourceMappings,
|
getKnownOfficeResourceMappings,
|
||||||
addNewMapping,
|
addNewMapping,
|
||||||
@@ -133,4 +143,5 @@ module.exports = {
|
|||||||
getMemberIncidents,
|
getMemberIncidents,
|
||||||
addFees,
|
addFees,
|
||||||
checkProcessingStatus,
|
checkProcessingStatus,
|
||||||
|
getPracticeSummaryReport,
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ const {
|
|||||||
getMemberIncidents,
|
getMemberIncidents,
|
||||||
addFees,
|
addFees,
|
||||||
checkProcessingStatus,
|
checkProcessingStatus,
|
||||||
|
getPracticeSummaryReport,
|
||||||
} = require('../controllers/integration');
|
} = require('../controllers/integration');
|
||||||
|
|
||||||
const { calculateDoorLockCharges } = require('../services/integration/doorLockCharges');
|
const { calculateDoorLockCharges } = require('../services/integration/doorLockCharges');
|
||||||
@@ -32,6 +33,10 @@ router.post('/integration/addFees', addFees);
|
|||||||
|
|
||||||
router.get('/integration/processing', checkProcessingStatus);
|
router.get('/integration/processing', checkProcessingStatus);
|
||||||
|
|
||||||
|
router.get('/integration/report/practiceSummary', getPracticeSummaryReport);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// temporary route, manually trigger door lock charge calculations
|
// temporary route, manually trigger door lock charge calculations
|
||||||
router.get('/calculate', (req, res) => { calculateDoorLockCharges(); res.send();});
|
router.get('/calculate', (req, res) => { calculateDoorLockCharges(); res.send();});
|
||||||
|
|
||||||
|
|||||||
@@ -313,6 +313,13 @@ const getAllIncidents = (dateRange, memberIds) => {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const getMemberPracticeSummaryReport = () => {
|
||||||
|
return new Promise((resolve, reject) => {
|
||||||
|
resolve();
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
getAllIncidents,
|
getAllIncidents,
|
||||||
|
getMemberPracticeSummaryReport,
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user