- Rewrote AlarmService.cs to only contain IAlarmService and AlarmManager
- Removed duplicate AlarmRuleService, AlarmNotificationService definitions
- Removed duplicate IEmailService, ISmsService, IWechatService, IAlarmRuleRepository, IAlarmNotificationRepository
Note: Haoliang.Core still has many errors due to:
- Duplicate class definitions in SystemService.cs, TemplateService.cs, TemplateValidationService.cs, ServiceInfrastructure.cs
- Missing types (DeviceState, NotificationChannel, etc.)
- Ambiguous type references (TagData, DeviceCurrentStatus)
- Fixed CNCDbContext type references in repositories
- Fixed ambiguous TagData and DeviceCurrentStatus references
- Added missing using statements to repository files
- Updated DataCollection namespace references
Note: There are still remaining DbContext/model mismatches that need to be resolved
- Updated all project files to target net8.0
- Updated Microsoft.EntityFrameworkCore to 8.0.2
- Updated Pomelo.EntityFrameworkCore.MySql to 8.0.2
- Updated Microsoft.Extensions.* packages to 8.0.0
- Updated System.IdentityModel.Tokens.Jwt to 7.0.3
- Updated xunit and related packages to latest versions
- Updated Microsoft.NET.Test.Sdk to 17.8.0
- Added .NET 8.0 SDK installation
- Unified all packages to use EF Core 7.0.2
- Fixed ambiguous DeviceCurrentStatus references in CNCDbContext
- Added missing DataCollection namespace reference
- Resolved package version conflicts across all projects
- Fixed repository using statements to include Haoliang.Data.Entities
- Fixed duplicate repository definitions by removing separate files and keeping only main definitions
- Fixed IRepository SaveAsync method return type to match BaseRepository (Task<int>)
- Removed duplicate using statements and resolved type conflicts
- Fixed DeviceStatus enum issue in DbContext (changed to string property)
- Added missing LogEntry and TagMapping models
- Fixed TaskStatus naming conflicts in ScheduledTaskRepository
- Resolved duplicate ConversionRule class definition
- Fixed CNCDbContext references to use correct model namespaces
- Updated CNCBusinessDbContext to include missing TaskExecutionResults DbSet
- Build now succeeds with only warnings (no errors)
- Add comprehensive production statistics engine with advanced analytics,
forecasting, and OEE calculations
- Implement real-time WebSocket streaming for live device monitoring and alerts
- Build cache management service with multi-layer caching strategies
- Create device state machine with automatic validation and recovery
- Add statistics and configuration API controllers with full CRUD operations
- Implement business rules engine with dynamic expression evaluation
- Add comprehensive test coverage for all new services and controllers
- Update project dependencies and DI container configuration
- Add system configuration models and comprehensive error handling
This completes the core functionality for the CNC data collection system
supporting 100+ devices with real-time monitoring and analytics capabilities.
- Created standard .NET6 project structure with Haoliang.Api, Haoliang.Core, Haoliang.Data, Haoliang.Models, and Haoliang.Tests
- Implemented device management API with Entity Framework Core and MySQL
- Added production calculation logic for CNC machine output statistics
- Created comprehensive data models for devices, templates, production records, users, and system
- Implemented repository pattern for data access
- Added comprehensive test coverage for models and production logic
- Fixed version compatibility issues with Pomelo.EntityFrameworkCore.MySql and Microsoft.AspNetCore.Cors