# 登录服务类图

## 1. 核心实体类图

```mermaid
classDiagram
    class GxtOrderStatisticsController {
        - IGxtOrderStatisticsService statisticsService
        + getGroupStatistics()
        + getDimensions()
        + getRepairOrderStatistics()
        + getMaintenanceTypes()
        + getRuntimeScoreStatistics()
    }
    
    class IGxtOrderStatisticsService {
        <<interface>>
        + getGroupStatistics()
        + getDimensions()
        + getRepairOrderStatistics()
        + getMaintenanceTypes()
        + getRuntimeScoreStatistics()
    }
    
    class GxtOrderStatisticsServiceImpl {
        - GxtOrderStatisticsMapper statisticsMapper
        + getGroupStatistics()
        + getDimensions()
        + getRepairOrderStatistics()
        + getMaintenanceTypes()
        + getRuntimeScoreStatistics()
    }
    
    class GxtOrderStatisticsMapper {
        <<interface>>
        + selectGroupStatistics()
        + selectAllGxtCenters()
        + selectAllStations()
        + selectAllBrands()
        + selectAllModels()
        + selectAllMaintenanceTypes()
        + selectRepairOrderStatistics()
        + selectRuntimeScoreStatistics()
    }
    
    class GxtCoefficientScore {
        - Long id
        - BigDecimal subitemCoefficient
        - BigDecimal subitemCoefficientSum
        - Integer plannedCount
        - Integer actualCount
        - BigDecimal groupDeduction
        - String explainCode
        - String monthPeriod
        - Integer status
        - String detpName
        - BigDecimal repairOrderCoefficient
        - BigDecimal workOrderCoefficient
        - Long deptId
    }
    
    class statistics_js {
        + getGroupStatistics()
        + getDimensions()
        + getRepairOrderStatistics()
        + getMaintenanceTypes()
        + getRuntimeScoreStatistics()
    }
    
    GxtOrderStatisticsController --> IGxtOrderStatisticsService
    IGxtOrderStatisticsService <|.. GxtOrderStatisticsServiceImpl
    GxtOrderStatisticsServiceImpl --> GxtOrderStatisticsMapper
    GxtOrderStatisticsController ..> GxtCoefficientScore
    statistics_js ..> GxtOrderStatisticsController
    
    note top of GxtOrderStatisticsController
        工单统计Controller
        提供多种统计接口：
        1. 分组统计工单数据
        2. 获取统计维度选项
        3. 维修工单统计
        4. 维保运行统计
    end note
    
    note right of IGxtOrderStatisticsService
        工单统计Service接口
        定义统计功能的核心业务逻辑
    end note
    
    note bottom of GxtOrderStatisticsMapper
        工单统计Mapper接口
        定义数据访问层接口
    end note
```

## 2. 控制层与服务层类图

```mermaid
classDiagram
    class GxtWorkOrderController {
        +IGxtWorkOrderService gxtWorkOrderService
        +list(GxtWorkOrder gxtWorkOrder) TableDataInfo
        +getInfo(Long id) AjaxResult
        +add(GxtWorkOrder gxtWorkOrder) AjaxResult
        +edit(GxtWorkOrder gxtWorkOrder) AjaxResult
        +remove(Long[] ids) AjaxResult
        +assignToTeamLeader(Long id, Long teamLeaderId, String teamLeaderName) AjaxResult
        +acceptByTeamLeader(Long id) AjaxResult
        +assignToWorkGroupMember(Long id, Long workGroupMemberId, String workGroupMemberName) AjaxResult
        +acceptByWorkGroupMember(Long id) AjaxResult
        +accept(Long id, GxtWorkOrder gxtWorkOrder) AjaxResult
        +start(Long id, GxtWorkOrder gxtWorkOrder) AjaxResult
        +pause(Long id, GxtWorkOrder gxtWorkOrder) AjaxResult
        +resume(Long id, GxtWorkOrder gxtWorkOrder) AjaxResult
        +suspend(Long id, GxtWorkOrder gxtWorkOrder) AjaxResult
        +approve(Long id, GxtWorkOrder gxtWorkOrder) AjaxResult
        +restart(Long id) AjaxResult
        +complete(Long id, GxtWorkOrder gxtWorkOrder) AjaxResult
    }
    
    class IGxtWorkOrderService {
        <<Interface>>
        +selectGxtWorkOrderById(Long id) GxtWorkOrder
        +selectGxtWorkOrderList(GxtWorkOrder gxtWorkOrder) List~GxtWorkOrder~
        +insertGxtWorkOrder(GxtWorkOrder gxtWorkOrder) int
        +updateGxtWorkOrder(GxtWorkOrder gxtWorkOrder) int
        +deleteGxtWorkOrderByIds(Long[] ids) int
        +deleteGxtWorkOrderById(Long id) int
        +assignToTeamLeader(Long id, Long teamLeaderId, String teamLeaderName) int
        +acceptByTeamLeader(Long id) int
        +assignToWorkGroupMember(Long id, Long workGroupMemberId, String workGroupMemberName) int
        +acceptByWorkGroupMember(Long id) int
        +acceptOrder(GxtWorkOrder gxtWorkOrder) int
        +startWorkOrder(GxtWorkOrder gxtWorkOrder) int
        +pauseWorkOrder(GxtWorkOrder gxtWorkOrder) int
        +resumeWorkOrder(GxtWorkOrder gxtWorkOrder) int
        +suspendWorkOrder(GxtWorkOrder gxtWorkOrder) int
        +approveWorkOrder(GxtWorkOrder gxtWorkOrder) int
        +restartWorkOrder(Long id) int
        +completeWorkOrder(GxtWorkOrder gxtWorkOrder) int
    }
    
    GxtWorkOrderController --> IGxtWorkOrderService
```
