Estimate
Estimate module frontend tech documentation
Overview
The Estimate module helps in creating estimates based on projects created. This enables in deciding the Tendering, and Quotation.
The module has 5 associated screens :
Create Estimate
Search Estimate
Edit Estimate
View Estimate
Estimate Inbox
Configurations
MDMS Configurations
S.No. | Data | MDMS Link |
---|---|---|
1 | UOM (Unit of Measurement) | |
2 | Overheads | |
3 | Document Config |
Module Enablement Configuration
Set module code as “Estimate” in Module.js of Estimate Module. Refer to the file CityModule.json
Enable Module in App.js. Update the object ‘enabledModules’. Use the code Estimate. This code should match the code of the cityModule.json, mentioned above.
Role-action Mapping
S.No. | API | Action ID | Roles |
---|---|---|---|
1 | /estimate-service/estimate/v1/_create | 9 | ESTIMATE_CREATOR
|
2 | /estimate-service/estimate/v1/_search | 10 | ESTIMATE_CREATOR, ESTIMATE_VERIFIER, TECHNICAL_SANCTIONER ESTIMATE_APPROVER ESTIMATE_VIEWER EMPLOYEE_COMMON |
3 | /estimate-service/estimate/v1/_update | 11 | ESTIMATE_VERIFIER, TECHNICAL_SANCTIONER, ESTIMATE_APPROVER |
4 | /wms/estimate/_search | 77 | EMPLOYEE_COMMON |
5 | /pms/project/v1/_search | 52 | PROJECT_VIEWER |
Sidebar Configuration
S.No. | Screen | Navigation URL | Left Icon Updates | Roles |
---|---|---|---|---|
1 | Search Estimate | /works-ui/employee/estimate/search-estimate
| dynamic:EstimateIcon
| ESTIMATE_VIEWER
|
2 | Estimate Inbox | /works-ui/employee/estimate/inbox | dynamic:EstimateIcon | ESTIMATE_VERIFIER TECHNICAL_SANCTIONER ESTIMATE_APPROVER ESTIMATE_CREATOR |
Sample object for a sidebar action defined in MDMS (containing navigationUrl )
Screen Configuration
S.No. | Screen | Configuration |
---|---|---|
1 | Create Estimate | |
2 | Search Estimate | |
3 | Estimate Inbox | |
4 | WMS Estimate Search |
Localization Configuration & Modules
TenantID | Module |
---|---|
pg | rainmaker-common |
pg | rainmaker-estimate |
pg | rainmaker-common-masters |
pg | rainmaker-workflow |
pg.citya | rainmaker-pg.citya |
Workflow Configuration
Business Service name - “mukta-estimate”. Refer to the MDMS file for workflow businessServices names - Workflow
For Workflow related actions, the View screens use two components:
Workflow Actions -> For calling the update API with appropriate workflow action (through the action bar rendered at the bottom of the view screen). This component has all the logic to show actions according to the logged-in user, showing relevant popups and calling the update API to execute an action.
Popups are rendered based on configMap defined in this config file Popup.
Workflow Timeline -> To show the workflow history on View screens.
Customisation
Custom Components used in Estimate:
Document Config -
Based on the document config, respective documents will be rendered on the Create Screen. Please mention the validations, file type limits and file size limits in this config
NonSOR Table - Non-SOR Table
Used in Create Estimate Screen to capture Non-Sor line items.
Overheads Table - Overheads Table
Used in Create Estimate Screen to capture Overhead items.
Total Estimate Amount - Total Estimate Amount
Used in Create Estimate Screen to calculate and render Total Estimate Amount.
UploadFileComposer - Upload File Composer
Used in Create Estimate Screen to render document upload section using Document Config
Labour and Material Analysis- Labour and Material Analysis
Used in Create Estimate screen to capture labour and material costs. The total labour and material costs cannot be greater than the total Estimate Amount.
Create Estimate Screen:
Use the common Utility “PreProcessMDMSConfig”.
Pass the associated dependencies for the config.
The utility will return a config which will run through FormComposer.
Refer to docs for Pre-Process config in Component comments.
UOM and Overheads captured in the create screen are MDMS data.
Inbox / Search Screen:
Use the common utility “preProcessMDMSConfigInboxSearch”.
Pass the associated dependencies for the config.
The utility will return a config which will run through RenderFormFields.
Refer to docs for Pre-Process config in Component comments.
All the Inbox and Search screens throughout the app are rendered using this component Inbox/Search Composer.
Last updated