# 登录服务类图 ## 1. 核心实体类图 ```mermaid classDiagram class GxtOrderStatisticsController { - IGxtOrderStatisticsService statisticsService + getGroupStatistics() + getDimensions() + getRepairOrderStatistics() + getMaintenanceTypes() + getRuntimeScoreStatistics() } class IGxtOrderStatisticsService { <> + getGroupStatistics() + getDimensions() + getRepairOrderStatistics() + getMaintenanceTypes() + getRuntimeScoreStatistics() } class GxtOrderStatisticsServiceImpl { - GxtOrderStatisticsMapper statisticsMapper + getGroupStatistics() + getDimensions() + getRepairOrderStatistics() + getMaintenanceTypes() + getRuntimeScoreStatistics() } class GxtOrderStatisticsMapper { <> + 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 { <> +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 ```