mitao
2024-04-07 5980a5fed8092f9866cb2f6a8b74abb7d631c018
ruoyi-admin-dept/src/main/java/com/ruoyi/web/controller/api/HistoryDataController.java
@@ -1,10 +1,26 @@
package com.ruoyi.web.controller.api;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.basic.PageDTO;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.enums.ReportingStatusEnum;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.system.domain.TbBasicData;
import com.ruoyi.system.dto.HistoryDataQueryDTO;
import com.ruoyi.system.query.HistoryScoreQuery;
import com.ruoyi.system.service.TbBasicDataService;
import com.ruoyi.system.service.TbFieldService;
import com.ruoyi.system.service.TbScoreService;
import com.ruoyi.system.vo.BasicDataFieldVO;
import com.ruoyi.system.vo.BasicDataVO;
import com.ruoyi.system.vo.ScoreVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
/**
 * @author mitao
@@ -17,4 +33,46 @@
@Api(tags = "历史数据相关接口")
public class HistoryDataController {
    private final TbBasicDataService tbBasicDataService;
    private final TbFieldService tbFieldService;
    private final TbScoreService tbScoreService;
    /**
     * 历史数据分页查询
     *
     * @param dto 历史数据查询传输对象
     * @return R<PageDTO < BasicDataVO>>
     */
    @PostMapping("/list")
    @ApiOperation("历史数据分页查询")
    public R<PageDTO<BasicDataVO>> list(HistoryDataQueryDTO dto) {
        String areaCode = SecurityUtils.getLoginUser().getUser().getAreaCode();
        Page<TbBasicData> page = tbBasicDataService.lambdaQuery().eq(TbBasicData::getDeptAreaCode, areaCode)
                .eq(TbBasicData::getStatus, ReportingStatusEnum.FILLED)
                .page(new Page<>(dto.getPageNum(), dto.getPageSize()));
        return R.ok(PageDTO.of(page, BasicDataVO.class));
    }
    /**
     * 字段查看
     * @param id 基础数据id
     * @return R<BasicDataFieldVO>
     */
    @GetMapping("/history-fields")
    @ApiOperation("字段查看")
    @ApiImplicitParam(name = "id", value = "基础数据id", required = true, dataType = "int", paramType = "query", dataTypeClass = Long.class)
    public R<BasicDataFieldVO> getHistoryFields(@RequestParam("id") Long id) {
        return R.ok(tbFieldService.getHistoryFields(id));
    }
    /**
     * 得分计算
     * @param query 得分计算条件查询对象
     * @return R<PageDTO < ScoreVO>>
     */
    @PostMapping("/history-score")
    @ApiOperation("得分计算")
    public R<PageDTO<ScoreVO>> getHistoryScore(@RequestBody HistoryScoreQuery query) {
        return R.ok(tbScoreService.getHistoryScore(query));
    }
}