package com.persagy.server.controllers.dict

import com.persagy.server.datacenter.models.entities.dictnew.DefClass
import com.persagy.server.datacenter.models.entities.dictnew.DefFuncId
import com.persagy.server.datacenter.models.requests.CategoryRequest
import com.persagy.server.services.dict.dictnew.DictDefClassService
import com.persagy.service.models.responses.SQueryResponse
import io.swagger.annotations.Api
import io.swagger.annotations.ApiOperation
import org.springframework.web.bind.annotation.PostMapping
import org.springframework.web.bind.annotation.RequestBody
import org.springframework.web.bind.annotation.RequestMapping
import org.springframework.web.bind.annotation.RestController

/**
 * 字典
 *
 * @author  wx
 * @date  2020/9/23 15:30
 */
@Api(tags = ["040、字典"])
@RestController
@RequestMapping("/dict")
class DictControllers {

    /**
     * 字典查询所有设备类型、部件所有类型、系统类型、专业类型
     *
     * @param   type        查询信息条件
     * @return              查询结果
     */
    @ApiOperation(value = "类型-字典查询所有设备类型、部件所有类型、系统类型、专业类型", notes = "输入设备类型：equipment，输入部件类型：component,输入系统类型：system,输入专业类型：major," +
            "专业和系统：majorSystem，业务空间类型 space ,专业下的设备类型 majorEquipment ,设备和部件equipmentAndComponent,设备类型要以及对应的部件equipmentComponent，专业下的系统，系统下的设备majorSystemEquip ")
    @PostMapping(value = ["/category"])
    fun categoryQuery(@RequestBody categoryRequest: CategoryRequest): SQueryResponse<DefClass> {
        return DictDefClassService.equipQuery(categoryRequest)
    } // Function query()

    /**
     *
     */
    @ApiOperation(value ="查询项目下类型的信息点",notes = "")
    @PostMapping(value = ["/query"])
    fun categoryInfoQuery(@RequestBody categoryRequest: CategoryRequest): SQueryResponse<DefFuncId>{
        return DictDefClassService.categoryInfoQuery(categoryRequest)
    } // Function query()


} // Class DictControllers