package com.ruoyi.web.controller.api; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.exception.ServiceException; import com.ruoyi.system.dto.BasicDataDTO; import com.ruoyi.system.service.TbBasicDataService; import com.ruoyi.system.vo.BasicDataReportingVO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; /** * @author mitao * @date 2024/3/19 */ @Slf4j @RestController @RequestMapping("/current-quarter") @RequiredArgsConstructor @Api(tags = "当前季度数据相关接口") public class CurrentQuarterController { private final TbBasicDataService tbBasicDataService; @ApiOperation("获取基础数据填报相关信息") public R getBasicFields(@RequestParam("deptAreaCode") String deptAreaCode) { //TODO 如果能够获取到当前登录用户,则不需要传区划代码 try { return tbBasicDataService.getBasicFields(deptAreaCode); } catch (Exception e) { if (e instanceof ServiceException) { return R.fail(e.getMessage()); } log.error("获取基础数据填报相关信息异常", e); return R.fail(); } } @PostMapping("/save-basic-data") @ApiOperation("保存当前季度数据") public R saveBasicData(@RequestBody BasicDataDTO dto) { try { tbBasicDataService.saveBasicData(dto); } catch (Exception e) { if (e instanceof ServiceException) { return R.fail(e.getMessage()); } log.error("保存当前季度数据异常", e); return R.fail(); } return R.ok(); } /** * 导入模板下载 */ @GetMapping("/download") @ApiOperation("模板下载") public void downloadImportTemplate() { try { tbBasicDataService.downloadImportTemplate(); } catch (Exception e) { log.error("模板下载异常",e); throw new ServiceException("模板下载失败,请联系管理员!"); } } @PostMapping("import") @ApiOperation("基础数据导入") public R importBasicData(@RequestPart("file") MultipartFile file) { try { tbBasicDataService.importBasicData(file); } catch (Exception e) { if (e instanceof ServiceException) { return R.fail(e.getMessage()); } log.error("基础数据导入异常",e); throw new ServiceException("基础数据导入失败,请联系管理员!"); } return R.ok(); } }