Add TerryAttendanceMachineIps config and persist punches from those IPs directly to terry_attendance_log without worker_type lookup. Add employee worker_type lookup and persist outcomes for unmapped/unsupported workers on non-Terry machines.
Initial department sync now requires InitialSyncLocationSiteId and can
run across all active departments when department IDs are empty. Employee
selection filters by location site, reports inactive/missing departments,
and writes per-department outcomes to a dedicated DepartmentalSync biz log.
Add initial department-sync and employee-photo source settings, plus department-based user-sync filters. Load, normalize, and apply the new configuration values.
Add a configurable initial-sync flow that creates department employees on target Hikvision devices and uploads portal JPEG photos.
Support department-based employee filtering for existing user/template sync.
Discover and retry available Hikvision face libraries, then verify face enrollment after upload.
Extend service configuration and scheduled sync handling for the new onboarding flow.
After loading serviceconfig.json, apply DeviceSettings.config values onto the existing config properties without changing runtime behavior or property names.
Extend FileLogger with Biz/Ops/Diag writers and service start/stop blocks; add EnableTemplateDeviceToDbSync / EnableTemplateDbToDeviceSync so only the enabled template direction is logged and run.