package com.finance.web.controller.api;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.finance.common.basic.PageDTO;
|
import com.finance.common.core.domain.R;
|
import com.finance.common.enums.ReportingStatusEnum;
|
import com.finance.common.utils.SecurityUtils;
|
import com.finance.system.domain.TbBasicData;
|
import com.finance.system.query.HistoryDataQuery;
|
import com.finance.system.query.HistoryScoreQuery;
|
import com.finance.system.service.TbBasicDataService;
|
import com.finance.system.service.TbFieldService;
|
import com.finance.system.service.TbScoreService;
|
import com.finance.system.vo.BasicDataFieldVO;
|
import com.finance.system.vo.BasicDataVO;
|
import com.finance.system.vo.ScoreVO;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiImplicitParam;
|
import io.swagger.annotations.ApiOperation;
|
import java.util.Objects;
|
import lombok.RequiredArgsConstructor;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.validation.annotation.Validated;
|
import org.springframework.web.bind.annotation.GetMapping;
|
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.RequestParam;
|
import org.springframework.web.bind.annotation.RestController;
|
|
/**
|
* @author mitao
|
* @date 2024/4/1
|
*/
|
@Slf4j
|
@RestController
|
@RequestMapping("/history-data-dept")
|
@RequiredArgsConstructor
|
@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(@Validated @RequestBody HistoryDataQuery dto) {
|
String areaCode = SecurityUtils.getLoginUser().getUser().getAreaCode();
|
Page<TbBasicData> page = tbBasicDataService.lambdaQuery()
|
.eq(TbBasicData::getDeptAreaCode, areaCode)
|
.eq(TbBasicData::getStatus, ReportingStatusEnum.FILLED)
|
.between(Objects.nonNull(dto.getStartTime()) && Objects.nonNull(dto.getEndTime()),
|
TbBasicData::getReportingTime, dto.getStartTime(), dto.getEndTime())
|
.page(new Page<>(dto.getPageNum(), dto.getPageSize()));
|
return R.ok(PageDTO.of(page, BasicDataVO.class));
|
}
|
|
/**
|
* 字段查看
|
*
|
* @param id 基础数据id
|
* @return R<BasicDataFieldVO>
|
*/
|
@GetMapping("/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("/score")
|
@ApiOperation("得分计算")
|
public R<PageDTO<ScoreVO>> getHistoryScore(@RequestBody HistoryScoreQuery query) {
|
return R.ok(tbScoreService.getHistoryScore(query));
|
}
|
}
|