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 :

  1. Create Estimate

  2. Search Estimate

  3. Edit Estimate

  4. View Estimate

  5. Estimate Inbox

MDMS Configurations

S.No.
Data
MDMS Link

1

UOM (Unit of Measurement)

3

Document Config

Module Enablement Configuration

Set module code as “Estimate” in Module.js of Estimate Module. Refer to the file CityModule.json

{
            "module": "Estimate",
            "code": "Estimate",
            "active": true,
            "order": 3,
            "tenants": [
                {
                    "code": "pg.cityb"
                },
                {
                    "code": "pg.cityc"
                },
                {
                    "code": "pg.citya"
                }
            ]
        }

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

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 )

{
      "id": 17,
      "name": "ESTIMATE",
      "url": "url",
      "displayName": "Estimate Inbox",
      "orderNumber": 2,
      "parentModule": "",
      "enabled": true,
      "serviceCode": "ESTIMATE",
      "code": "null",
      "navigationURL": "/works-ui/employee/estimate/inbox",
      "path": "2ESTIMATE.EstimateInbox",
      "leftIcon": "dynamic:EstimateIcon"
    }

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

  1. Business Service name - “mukta-estimate”. Refer to the MDMS file for workflow businessServices names - Workflow

  2. 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.

Customisation

Custom Components used in Estimate:

  1. 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

  2. NonSOR Table - Non-SOR Table

    • Used in Create Estimate Screen to capture Non-Sor line items.

  3. Overheads Table - Overheads Table

    • Used in Create Estimate Screen to capture Overhead items.

  4. Total Estimate Amount - Total Estimate Amount

    • Used in Create Estimate Screen to calculate and render Total Estimate Amount.

  5. UploadFileComposer - Upload File Composer

    • Used in Create Estimate Screen to render document upload section using Document Config

  6. 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:

  1. Use the common Utility “PreProcessMDMSConfig”.

  2. Pass the associated dependencies for the config.

  3. The utility will return a config which will run through FormComposer.

  4. Refer to docs for Pre-Process config in Component comments.

  5. UOM and Overheads captured in the create screen are MDMS data.

Inbox / Search Screen:

  1. Use the common utility “preProcessMDMSConfigInboxSearch”.

  2. Pass the associated dependencies for the config.

  3. The utility will return a config which will run through RenderFormFields.

  4. 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.

All content on this page by eGov Foundation is licensed under a Creative Commons Attribution 4.0 International License.