mitao
2024-04-19 604d00f67ddcf25a9d079ceddd1c668b2a4e5288
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/CurrentQuarterController.java
@@ -4,24 +4,37 @@
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.BeanUtils;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.system.domain.TbQuestion;
import com.ruoyi.system.dto.CurrentFieldsQueryDTO;
import com.ruoyi.system.dto.QuestionDTO;
import com.ruoyi.system.dto.QuestionQueryDTO;
import com.ruoyi.system.dto.QuestionUpdDto;
import com.ruoyi.system.dto.update.BasicDataUpdDTO;
import com.ruoyi.system.dto.update.QuestionUpdDTO;
import com.ruoyi.system.query.CurrentFieldsQuery;
import com.ruoyi.system.query.QuestionQuery;
import com.ruoyi.system.query.ScoreCalculateDetailQuery;
import com.ruoyi.system.query.ScoreCalculateQuery;
import com.ruoyi.system.service.TbBasicDataService;
import com.ruoyi.system.service.TbQuestionService;
import com.ruoyi.system.service.TbScoreService;
import com.ruoyi.system.vo.CurrentFieldsAllVO;
import com.ruoyi.system.vo.CurrentFieldsDetailVO;
import com.ruoyi.system.vo.CurrentFieldsVO;
import com.ruoyi.system.vo.QuestionVO;
import com.ruoyi.system.vo.ScoreCalculateDetailVO;
import com.ruoyi.system.vo.ScoreCalculateVO;
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.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.DeleteMapping;
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
@@ -36,16 +49,19 @@
    private final TbBasicDataService tbBasicDataService;
    private final TbQuestionService tbQuestionService;
    private final TbScoreService tbScoreService;
    /**
     * 获取基础数据填报相关信息
     * 字段统计
     *
     * @return R<BasicDataReportingVO>
     * @return R<PageDTO < CurrentFieldsVO>>
     */
    @ApiOperation(value = "字段统计", notes = "字段统计")
    @PostMapping("/fields-statics")
    public R<PageDTO<CurrentFieldsVO>> fieldsStatics(@Validated @RequestBody CurrentFieldsQueryDTO dto) {
    public R<PageDTO<CurrentFieldsVO>> fieldsStatics(
            @Validated @RequestBody CurrentFieldsQuery dto) {
        try {
            dto.setQuarter(DateUtils.getNowQuarter());
            return tbBasicDataService.fieldsStatics(dto);
        } catch (Exception e) {
            log.error("获取字段统计相关信息异常", e);
@@ -54,13 +70,13 @@
    }
    /**
     * 查看详情
     * 字段统计查看详情
     *
     * @param id 基础数据id
     * @return R<CurrentFieldsDetailVO>
     */
    @GetMapping("/fields-details")
    @ApiOperation(value = "查看详情", notes = "字段统计")
    @ApiOperation(value = "字段统计-查看详情", notes = "字段统计")
    @ApiImplicitParam(name = "id", value = "基础数据id", required = true, dataType = "int", paramType = "query", dataTypeClass = Long.class)
    public R<CurrentFieldsDetailVO> fieldsDetails(@RequestParam("id") Long id) {
        try {
@@ -75,12 +91,33 @@
    }
    /**
     * 字段统计-保存数据
     *
     * @param dto
     * @return
     */
    @PostMapping("/save-basic-data")
    @ApiOperation("字段统计-保存数据")
    public R<Void> editBasicData(@RequestBody BasicDataUpdDTO dto) {
        try {
            tbBasicDataService.editBasicData(dto);
        } catch (Exception e) {
            if (e instanceof ServiceException) {
                return R.fail(e.getMessage());
            }
            log.error("保存数据异常", e);
            return R.fail();
        }
        return R.ok();
    }
    /**
     * 查看全部
     *
     * @return R<CurrentFieldsAllVO>
     */
    @GetMapping("/fields-statics-all")
    @ApiOperation(value = "查看全部", notes = "字段统计")
    @ApiOperation(value = "字段统计-查看全部", notes = "字段统计")
    public R<CurrentFieldsAllVO> fieldsStaticsAll() {
        try {
            return R.ok(tbBasicDataService.fieldsStaticsAll());
@@ -94,13 +131,46 @@
    }
    /**
     * 得分计算
     *
     * @param query 当前季度/历史 数据 得分计算条件查询对象
     * @return R<PageDTO < ScoreCalculateVO>>
     */
    @PostMapping("/score-calculate")
    @ApiOperation("得分计算")
    public R<PageDTO<ScoreCalculateVO>> scoreCalculate(
            @Validated @RequestBody ScoreCalculateQuery query) {
        try {
            query.setQuarter(DateUtils.getNowQuarter());
            return R.ok(tbBasicDataService.scoreCalculatePage(query));
        } catch (Exception e) {
            log.error("获取得分计算异常", e);
            return R.fail();
        }
    }
    /**
     * 得分计算查看详情
     *
     * @param query 得分计算详情条件查询对象
     * @return R<ScoreCalculateDetailVO>
     */
    @PostMapping("/score-calculate-detail")
    @ApiOperation("得分计算-查看详情")
    @ApiImplicitParam(name = "areaName", value = "部门名称", required = false, dataType = "string", paramType = "query", dataTypeClass = String.class)
    public R<ScoreCalculateDetailVO> scoreCalculateDetail(
            @Validated @RequestBody ScoreCalculateDetailQuery query) {
        return R.ok(tbScoreService.scoreCalculateDetail(query));
    }
    /**
     * 添加问题
     *
     * @param dto 发现问题数据传输对象
     * @return R<Void>
     */
    @PostMapping("add-question")
    @ApiOperation(value = "添加问题", notes = "发现问题")
    @ApiOperation(value = "发现问题-添加问题", notes = "发现问题")
    public R<Void> addQuestion(@Validated @RequestBody QuestionDTO dto) {
        try {
            tbQuestionService.addQuestion(dto);
@@ -114,9 +184,15 @@
        }
    }
    /**
     * 编辑问题
     *
     * @param dto 发现问题编辑数据传输对象
     * @return R<Void>
     */
    @PostMapping("/edit-question")
    @ApiOperation(value = "编辑问题", notes = "发现问题")
    public R<Void> editQuestion(@Validated @RequestBody QuestionUpdDto dto) {
    @ApiOperation(value = "发现问题-编辑问题", notes = "发现问题")
    public R<Void> editQuestion(@Validated @RequestBody QuestionUpdDTO dto) {
        try {
            tbQuestionService.editQuestion(dto);
            return R.ok();
@@ -136,8 +212,8 @@
     * @return R<PageDTO < QuestionVO>>
     */
    @PostMapping("/page-question")
    @ApiOperation(value = "分页查询问题", notes = "发现问题")
    public R<PageDTO<QuestionVO>> pageQuestion(@RequestBody QuestionQueryDTO dto) {
    @ApiOperation(value = "发现问题-分页查询问题", notes = "发现问题")
    public R<PageDTO<QuestionVO>> pageQuestion(@Validated @RequestBody QuestionQuery dto) {
        return R.ok(tbQuestionService.pageQuestion(dto));
    }
@@ -148,14 +224,20 @@
     * @return R<QuestionDTO>
     */
    @GetMapping("/detail-question")
    @ApiOperation(value = "问题详情", notes = "发现问题")
    @ApiOperation(value = "发现问题-问题详情", notes = "发现问题")
    public R<QuestionDTO> detailQuestion(@RequestParam("id") Long id) {
        TbQuestion question = tbQuestionService.getById(id);
        return R.ok(BeanUtils.copyBean(question, QuestionDTO.class));
    }
    /**
     * 删除问题
     *
     * @param id 问题id
     * @return R<Void>
     */
    @DeleteMapping("/delete")
    @ApiOperation(value = "删除问题", notes = "发现问题")
    @ApiOperation(value = "发现问题-删除问题", notes = "发现问题")
    public R<Void> delete(@RequestParam("id") Long id) {
        tbQuestionService.removeById(id);
        return R.ok();