Modules¶
ConproSoft is organised into functional modules. Each module is implemented through one or more controller XML files in /app/controllers, corresponding page HTML files in /app/pages, and optional business rule classes in /app/App_Code/Rules. The navigation menu (Web.Sitemap) controls which roles can see which modules.
1. Human Resources¶
1.1 Employee Profile¶
PersonResource: the primary employee record. Stores personal information, employment details, trade/position, BEE classification, contract status, skills tags, and the profile picture (BLOB). Default on new record:Status = Active.PersonBasicProfile: a simplified read-only view of person data used in lookups and reports.PersonSkills,PersonTags,Analysis_Skills: skills tagging and classification against employees.ProfessionalExperience: professional experience records linked to a person.
1.2 Compliance Records¶
MedicalScreening: medical fitness records per employee. Supports document attachment (certificate). Default:Finalised = 0.Training: training and certification records per employee. Supports certificate attachment. Default:Finalised = 0.I_P_A_C/IPAC: industrial/professional assessment of competency records with document attachment.PPE: PPE issue records per employee.FormalEducation: formal educational qualifications with document attachment.Covid19Screening: COVID-19 screening records. Default:ScreeningDate = today.LiteracyAssessments: literacy assessment records per employee.
1.3 Leave Management¶
LeaveApplication: leave requests submitted by employees. Default on new:Status = Draft,HalfDay = 0,Approved = 0,Submit = 0. Triggers email notifications on insert and status update (see Email Business Rules).
1.4 Timesheets¶
TimeSheetHeader: the weekly timesheet header record. Default:Status = Draft. Triggers email on insert/update.TimeSheetDetail: individual time entries (lines) on a timesheet.TimeSheet: alternative timesheet capture view. Triggers email on insert/update.Timesheet_Weekly: weekly summary timesheet view.TimeSheets: consolidated timesheet grid for management review.
1.5 Payroll & Wages¶
Payroll: employee pay rate records.WageSheet: monthly wages sheet (legacy / deprecated). Default:PayTime1 = 0,PayTime2 = 0,TotalPay = 0,Comments = "Default Record".
1.6 Disciplinary¶
DisciplinaryAction: disciplinary action records with attachment. Default:DisciplinaryActionDate = today.
2. Projects & Contracts¶
2.1 Project Master¶
Project: the main project record. Stores client, contract value, dates, province, status, and a project agreement document (BLOB). All financial totals and flags default to0on creation. Business rules (ProjectBusinessRules) enforce flag resets on every Insert/Update.Project1: a read-only reporting variant of the project entity used in the HR Labour Profile report.ProjectsLanding/ProjectLanding: summary and dashboard landing views for project selection.ProjectDashboard: project-level dashboard with summarised KPIs.
2.2 Project Participants¶
ProjectSubcontractors: links subcontractor companies to a project.ProjectSubcontractorResources: individual subcontractor workers assigned to a project.ProjectUsers: associates system users to projects. Controls multi-tenancy data visibility. Non-Administrator users only see records belonging to their assigned projects and roles.
2.3 Project Financials¶
ProjectClaims: revenue claims per fiscal period. Default:Historical = 0,RefreshCalculations = 0. Business rules resetRefreshCalculationsto0on every Insert/Update.ProjectOverheadExpenses: overhead cost allocations against projects.ChangeOrders: contract change/variation orders.FiscalCalendar/FiscalPeriod: financial year and period management.
2.4 Site-Specific Project Views¶
ProjectPageExt8,ProjectPageLynburn,ProjectPageVenetiaMine: customised project landing page variants for specific client sites. These have been deprecated and removed from the UI, but remain in the codebase as examples for future development.
3. Procurement¶
3.1 Requisitions¶
Requisition: material requisition raised by a project team. Default:Historical = 0. Triggers email on approval request and on status update (see Email Business Rules).RequisitionResources: line items (materials/resources) on a requisition.RequisitionLanding: landing/summary view for requisition management.Requisitions_CurrentMonth: filtered view of current-month requisitions.
3.2 Purchase Orders¶
PurchaseOrders: purchase order raised against a requisition. Default:DepositRequired = 0,Finalised = 0,BillingComplete = 0,RevisionNumber = 0,Historical = 0. Triggers emails on issue, revision approval request, and revision approval (see Email Business Rules). Supports invoice/attachment (BLOB).PurchaseorderResource: line items on a purchase order.PurchaseOrdersLanding: landing/summary view for PO management.PurchaseOrdersNotDelivered: filtered view of POs with outstanding deliveries.PurchaseOrdersPaymentIncomplete: filtered view of POs with incomplete payments.
3.3 Goods Receipt¶
GoodsReceipt: goods received note against a PO. Default:Delivered = 0. Supports attachment (BLOB).GoodsreceiptResources: line items on a goods receipt.
3.4 Payments¶
Payments: supplier payment records linked to POs. Supports attachment (BLOB). Triggers email notification on insert (see Email Business Rules).
3.5 Delivery Notes¶
DeliveryNote: delivery note records. Default:ShortSupplied = 0. Supports delivery note document (BLOB).
3.6 Suppliers¶
Suppliers: supplier/company master with banking, BEE, and contact details. Default:Vatregistered = 0.SubContractor: subcontractor company master.
4. Task Manager & Operations¶
4.1 Task Management¶
Task: main task records. Default:Date = today,Status = New,Progress = 0. Triggers email notification on insert (see Email Business Rules). Supports task attachment (BLOB).SubTask: activities/sub-tasks under a main task. Default:Status = New,Progress = 00. Triggers email notification on insert. Supports attachment (BLOB).TaskManager: combined reading-pane view of tasks and sub-tasks.
4.2 Issue Register¶
IssueRegister: issue tracking records. Default:IssueDate = today,Status = New,DateAssigned = today. Triggers email on insert and update (see Email Business Rules). Supports attachment (BLOB).IssueResponse: responses/comments on an issue. Triggers email on insert and update.
4.3 Bookings (Deprecated)¶
Booking: booking records (supports signature capture as BLOB).
4.4 Tickets¶
Ticket/TicketType: support ticket records and types.
5. Quality & Safety (Partial Implementation)¶
QualityManagement: quality management records. (Not yet implemented)SAFETYMANAGEMENT: safety management register. (Not yet implemented)PolicyDocuments: company policy document library with document attachment (BLOB).SupportingDocument: general supporting document repository with document attachment (BLOB).SupportingDocumentsReport: reporting view of supporting documents.
6. Reporting¶
All report controllers feed data to RDLC templates under /app/reports. Reports can be rendered as PDF, Excel, or Word from within the UI.
| Controller | Report | Description |
|---|---|---|
Report_AttendanceRegister |
Report_AttendanceRegister_grid1.rdlc |
Subcontractor attendance register |
Report_LeaveApplications |
Report_LeaveApplications_grid1.rdlc |
Leave applications summary |
Report_MaterialRequisition |
Report_MaterialRequisition_editForm1.rdlc |
Material requisition printout |
Report_PurchaseOrder |
Report_PurchaseOrder_editForm1.rdlc |
Purchase order printout |
Report_Timesheets |
Report_Timesheets_grid1.rdlc |
Timesheet summary |
Report_TimesheetDetail |
Report_Timesheets_grid1.rdlc |
Detailed timesheet lines |
Report_TimesheetDaily |
Report_Timesheets_v100.rdlc |
Daily timesheet |
Report_TotalTimeByEmployee |
Report_Timesheets_grid1.rdlc |
Total time by employee |
Report_TaskManager |
Report_TaskManager_grid1.rdlc |
Task manager report |
Report_LabourProjectPositionReport |
Person_grid1.rdlc |
Labour project position |
Report_LabourContractStatusReport |
Report_LabourContractStatusReport_grid1.rdlc |
Labour contract status |
Report_LabourDriverLicenseStatusReport |
Report_LabourDriverLicenseStatusReport_grid1.rdlc |
Driver licence status |
Report_LabourRecordStatusReport |
Report_LabourRecordStatusReport_grid1.rdlc |
Labour record status |
Report_MedicalScreeningReport |
Report_MedicalScreeningReport_grid1.rdlc |
Medical screening |
Report_Training / Report_Training_gridRenewalStatus |
Training_grid1.rdlc etc. |
Training and renewals |
Report_ProjectSubContractor |
Report_AttendanceRegister_grid1.rdlc |
Project subcontractor attendance |
7. System Administration¶
7.1 Membership & Users¶
VwMembershipApplications: view of pending self-registration applications awaiting approval.UserPictures: user avatar/picture management (BLOB stored inUserPicturestable, shown in navbar).UserEmails: view of user email addresses from the membership system.ProjectUsers: associates users to projects to control data visibility.
7.2 Operator & Company Configuration¶
OperatorSetup: company name, logo (BLOB), and branding settings.
7.3 Errors Table¶
- Uncaught exceptions and controller errors are logged to an
Errorstable in the database (viaApplicationServices.Override.csandApplicationServices.LogError.cs). Each error gets a unique GUID reference shown to the end user.
7.4 Reference / Lookup Data¶
All lookup data is managed through dedicated controllers. Key lookups include:
| Category | Controllers |
|---|---|
| Geography | TownLookup, SuburbLookup, ProvinceLookup, CountryLookup |
| Demographics | TitleLookup, GenderLookup, MaritalStatusLookup, NationalityLookup, EthnicGroupLookup |
| Job Classification | TradeLookup, Positions, Department |
| Skills & Training | Skill, SkillsTag, TrainingType, TrainingProviders, TrainingSkillsTags |
| Banking | BankLookup, BankAccountTypeLookup |
| Procurement Reference | VAT, UnitOfMeasure, ResourceClassifications, Resources, BillCodes |
| BBBEE Compliance | BEE_EntityType, BEE_RatingSource, BEE_Status |
| HR Reference | PublicHolidays, LeaveType, FitnessLevel, Restrictions, ReferralsLookup, MedicalScreeningType, SelectionCriteria |
| Disciplinary Reference | OffenceCategory, OffenceType, DisciplinaryActionType |
| Operations Reference | Task (lookup), SubTask (lookup), RootCauseCategory, Category |
| Site Content | SiteContent: CMS-style content items used by the framework for configuration |
| Other | Tags, SocialWayLocation, Client, ProjectExperience, StatusLookup |
1. Master Data & Lookups¶
1.1 Company & Organisation¶
Client: management of client organisations.CompaniesLookup,CountryLookup,BankLookup,BankAccountTypeLookup, etc.
1.2 Human Resources & Skills¶
Person,PersonBasicProfile,PersonResource: core person and resource records.PersonSkills,PersonTags,Analysis_Skills: skills and categorisation.
1.3 Compliance & Classification¶
BEE_EntityType,BEE_RatingSource,BEE_Status: BBBEE-related configuration.OffenceCategory,OffenceType: offence and disciplinary references.PPE, other safety-related lookups.
2. Projects & Contracts¶
2.1 Project Core¶
Project: main project master data.ProjectsLanding,ProjectLanding,ProjectDashboard: summary and dashboard views. (Deprecated)
2.2 Project Participants & Subcontractors (Deprecated)¶
ProjectSubcontractors,ProjectSubcontractorResources: subcontractor management.ProjectUsers: project-specific user associations.
2.3 Project Financials & Claims¶
ProjectClaims,ProjectOverheadExpenses: project claims and overhead allocations.- Integration with procurement, costs, and payments via linked modules.
3. Resources, Timesheets & Payroll¶
3.1 Resources & Allocation¶
Resource,Resources,ResourceClassifications: resource catalogues and classification.
3.2 Timesheets¶
TimeSheet,TimeSheetHeader,TimeSheetDetail,Timesheet_Weekly: capture and aggregation of time for projects and resources.
3.3 Payroll Linkages¶
Payroll: payroll-related data associated with timesheets and labour records.- Report controllers such as
LabourProjectPositionReportsupport labour analysis.
4. Procurement, Goods & Payments¶
4.1 Requisitions & Orders¶
Requisition,PurchaseOrders,PurchaseOrdersAttachmentBlobAdapter(via appSettings).
4.2 Goods Receipt & Resources¶
GoodsReceipt,GoodsReceiptInline,GoodsreceiptResources: receiving goods and linking them to projects/resources.
4.3 Payments & Billing¶
Payments,PaymentsAttachmentBlobAdapter: recording payments and supporting documentation.
5. Reporting & Dashboards¶
5.1 Reports¶
- Controllers such as
Report_LabourProjectPositionReport,Report_ProjectSubContractorfeed RDLC reports under/app/reports.
5.2 Dashboards & Landing Pages¶
ProjectDashboard,ProjectsLanding, and external project landing controllers for specific clients/sites (e.g.ProjectPageExt8,ProjectPageVenetiaMine).
6. System & Security¶
6.1 Membership & Roles¶
aspnet_Membership,aspnet_Roles: surface membership data and roles.
6.2 Security Rules¶
- Implemented via
App_Code/Security/MembershipBusinessRules.csand standard ASP.NET security mechanisms.
Each module is implemented primarily through a combination of:
- A controller XML file defining fields, views, actions, and business logic mappings.
- Associated model or generated rules in
App_Codewhere applicable.