```mermaid
classDiagram
    class GxtEquipmentController {
        +IGxtEquipmentService gxtEquipmentService
        +list(GxtEquipment gxtEquipment) TableDataInfo
        +listAll(GxtEquipment gxtEquipment) TableDataInfo
        +listBrands() AjaxResult
        +listModelsByBrand(String brand) AjaxResult
        +listMaintenanceCenters() AjaxResult
        +listStationsByMaintenanceCenter(String maintenanceCenter) AjaxResult
        +listAllModels() AjaxResult
        +export(HttpServletResponse response, GxtEquipment gxtEquipment, String exportFieldsStr) void
        +getExportFields() AjaxResult
        +getInfo(Long equipmentId) AjaxResult
        +add(GxtEquipment gxtEquipment) AjaxResult
        +edit(GxtEquipment gxtEquipment) AjaxResult
        +remove(Long[] equipmentIds) AjaxResult
        +importData(MultipartFile file, boolean updateSupport) AjaxResult
        +importTemplate(HttpServletResponse response) void
    }
    
    class IGxtEquipmentService {
        <<interface>>
        +selectGxtEquipmentByEquipmentId(Long equipmentId) GxtEquipment
        +selectGxtEquipmentList(GxtEquipment gxtEquipment) List~GxtEquipment~
        +selectBrandList() List~String~
        +selectModelListByBrand(String brand) List~String~
        +selectGxtEquipmentByEquipmentCode(String equipmentCode) GxtEquipment
        +selectGxtEquipmentByCodeAndLocation(GxtEquipment equipment) GxtEquipment
        +insertGxtEquipment(GxtEquipment gxtEquipment) int
        +updateGxtEquipment(GxtEquipment gxtEquipment) int
        +deleteGxtEquipmentByEquipmentIds(Long[] equipmentIds) int
        +deleteGxtEquipmentByEquipmentId(Long equipmentId) int
        +selectMaintenanceCenterList() List~String~
        +selectStationListByMaintenanceCenter(String maintenanceCenter) List~String~
        +selectAllModels() List~String~
        +importGxtEquipment(List~GxtEquipment~, Boolean isUpdateSupport, String operName) String
    }
    
    class GxtEquipment {
        +Long equipmentId
        +String maintenanceCenter
        +String station
        +String equipmentCode
        +String brand
        +String model
        +String equipmentType
        +String status
        +String responsiblePersonName
        +Long responsiblePersonId
        +Long maintenanceCenterId
        +Long stationId
    }
    
    class GxtEquipmentMapper {
        +selectGxtEquipmentByEquipmentId(Long equipmentId) GxtEquipment
        +selectGxtEquipmentByEquipmentCode(String equipmentCode) GxtEquipment
        +selectGxtEquipmentByCodeAndLocation(GxtEquipment equipment) GxtEquipment
        +selectGxtEquipmentList(GxtEquipment gxtEquipment) List~GxtEquipment~
        +selectBrandList() List~String~
        +selectModelListByBrand(String brand) List~String~
        +insertGxtEquipment(GxtEquipment gxtEquipment) int
        +updateGxtEquipment(GxtEquipment gxtEquipment) int
        +deleteGxtEquipmentByEquipmentId(Long equipmentId) int
        +deleteGxtEquipmentByEquipmentIds(Long[] equipmentIds) int
        +selectMaintenanceCenterList() List~String~
        +selectStationListByMaintenanceCenter(String maintenanceCenter) List~String~
        +selectAllModels() List~String~
    }
    
    GxtEquipmentController --> IGxtEquipmentService
    IGxtEquipmentService --> GxtEquipment
    IGxtEquipmentService --> GxtEquipmentMapper
```
