Re-migrate code
This commit is contained in:
@@ -110,3 +110,40 @@ func (s *CompaniesService) Delete(companyName string) error {
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// GetStatsOverview 获取企业统计概览
|
||||
func (s *CompaniesService) GetStatsOverview() (*models.CompanyStatsOverviewDTO, error) {
|
||||
stats := &models.CompanyStatsOverviewDTO{}
|
||||
|
||||
if err := database.DB.Model(&models.Company{}).Count(&stats.TotalCompanies).Error; err != nil {
|
||||
return nil, errors.New("统计企业总数失败")
|
||||
}
|
||||
|
||||
if err := database.DB.Model(&models.Company{}).Where("is_active = ?", true).Count(&stats.ActiveCompanies).Error; err != nil {
|
||||
return nil, errors.New("统计启用企业数量失败")
|
||||
}
|
||||
|
||||
stats.InactiveCompanies = stats.TotalCompanies - stats.ActiveCompanies
|
||||
|
||||
if err := database.DB.Model(&models.Serial{}).Count(&stats.TotalSerials).Error; err != nil {
|
||||
return nil, errors.New("统计企业赋码总数失败")
|
||||
}
|
||||
|
||||
if err := database.DB.Model(&models.Serial{}).Where("is_active = ?", true).Count(&stats.ActiveSerials).Error; err != nil {
|
||||
return nil, errors.New("统计有效企业赋码数量失败")
|
||||
}
|
||||
|
||||
stats.RevokedSerials = stats.TotalSerials - stats.ActiveSerials
|
||||
|
||||
if err := database.DB.Model(&models.EmployeeSerial{}).Count(&stats.TotalEmployeeSerials).Error; err != nil {
|
||||
return nil, errors.New("统计员工赋码总数失败")
|
||||
}
|
||||
|
||||
if err := database.DB.Model(&models.EmployeeSerial{}).Where("is_active = ?", true).Count(&stats.ActiveEmployeeSerials).Error; err != nil {
|
||||
return nil, errors.New("统计有效员工赋码数量失败")
|
||||
}
|
||||
|
||||
stats.RevokedEmployeeSerials = stats.TotalEmployeeSerials - stats.ActiveEmployeeSerials
|
||||
|
||||
return stats, nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user