Add attendance and visit management features with database schema updates
- Introduced new `attendances` and `visits` tables to manage employee attendance and customer visits, including relevant fields for check-in and check-out details. - Updated `company_settings` to include a `check_in_radius_meters` column for attendance validation. - Implemented foreign key constraints to ensure data integrity between `attendances`, `visits`, `employees`, `branches`, and other related entities. - Created new services and controllers for handling attendance and visit operations, including check-in, check-out, and bulk actions. - Enhanced DTOs for attendance and visit data transfer, including validation for input data. - Added unit and integration tests to validate the new functionalities and ensure proper handling of attendance and visit records. - Created migration scripts to apply the necessary database schema changes for the new features.
This commit is contained in:
@@ -5,6 +5,10 @@ import { EmployeesModule } from '../configuration/employees/employees.module';
|
||||
import { PrivilegesModule } from '../privileges/privileges.module';
|
||||
import { PackingSlipsModule } from '../sales/packing-slips/packing-slips.module';
|
||||
import { SalesInvoicesModule } from '../sales/sales-invoices/sales-invoices.module';
|
||||
import { AttendancesReadController } from './attendances/attendances-read.controller';
|
||||
import { AttendancesWriteController } from './attendances/attendances-write.controller';
|
||||
import { AttendancesRepository } from './attendances/attendances.repository';
|
||||
import { AttendancesService } from './attendances/attendances.service';
|
||||
import { CyclesReadController } from './cycles/cycles-read.controller';
|
||||
import { CyclesWriteController } from './cycles/cycles-write.controller';
|
||||
import { CyclesRepository } from './cycles/cycles.repository';
|
||||
@@ -16,6 +20,10 @@ import { PlansService } from './plans/plans.service';
|
||||
import { CompanySettingsController } from './settings/company-settings.controller';
|
||||
import { CompanySettingsRepository } from './settings/company-settings.repository';
|
||||
import { CompanySettingsService } from './settings/company-settings.service';
|
||||
import { VisitsReadController } from './visits/visits-read.controller';
|
||||
import { VisitsWriteController } from './visits/visits-write.controller';
|
||||
import { VisitsRepository } from './visits/visits.repository';
|
||||
import { VisitsService } from './visits/visits.service';
|
||||
import { FieldPrivilegeGuard } from './shared/field-privilege.guard';
|
||||
|
||||
@Module({
|
||||
@@ -29,20 +37,34 @@ import { FieldPrivilegeGuard } from './shared/field-privilege.guard';
|
||||
],
|
||||
controllers: [
|
||||
CompanySettingsController,
|
||||
AttendancesReadController,
|
||||
AttendancesWriteController,
|
||||
CyclesReadController,
|
||||
CyclesWriteController,
|
||||
PlansReadController,
|
||||
PlansWriteController,
|
||||
VisitsReadController,
|
||||
VisitsWriteController,
|
||||
],
|
||||
providers: [
|
||||
FieldPrivilegeGuard,
|
||||
CompanySettingsRepository,
|
||||
CompanySettingsService,
|
||||
AttendancesRepository,
|
||||
AttendancesService,
|
||||
CyclesRepository,
|
||||
CyclesService,
|
||||
PlansRepository,
|
||||
PlansService,
|
||||
VisitsRepository,
|
||||
VisitsService,
|
||||
],
|
||||
exports: [
|
||||
CompanySettingsService,
|
||||
AttendancesService,
|
||||
CyclesService,
|
||||
PlansService,
|
||||
VisitsService,
|
||||
],
|
||||
exports: [CompanySettingsService, CyclesService, PlansService],
|
||||
})
|
||||
export class FieldModule {}
|
||||
|
||||
Reference in New Issue
Block a user