package com.ruoyi.web.controller.project; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.annotation.RepeatSubmit; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.project.common.IdGeneratorUtils; import com.ruoyi.project.domain.ServiceDonatebaseinfoReport; import com.ruoyi.project.domain.ServiceDonatebaseinfoReportFile; import com.ruoyi.project.service.IServiceDonatebaseinfoReportFileService; import com.ruoyi.project.service.IServiceDonatebaseinfoReportService; import com.ruoyi.system.domain.SysConfig; import com.ruoyi.system.service.ISysConfigService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.Map; /** * 捐献上报基础Controller * * @author ruoyi * @date 2025-12-15 */ @Api(description = "捐献上报基础") @RestController @RequestMapping("/system/donatebaseinforeport") public class ServiceDonatebaseinfoReportController extends BaseController { @Autowired private IServiceDonatebaseinfoReportService serviceDonatebaseinfoReportService; @Autowired private IServiceDonatebaseinfoReportFileService serviceDonatebaseinfoReportFileService; @Autowired private ISysConfigService sysConfigService; /** * 查询捐献上报基础列表 */ @ApiOperation("查询捐献上报基础列表") @PostMapping("/list") public Map list(ServiceDonatebaseinfoReport serviceDonatebaseinfoReport) { Page serviceDonatebaseinfoReportPage = serviceDonatebaseinfoReportService.queryList(serviceDonatebaseinfoReport); return getDataTable(serviceDonatebaseinfoReportPage.getRecords(), (int) serviceDonatebaseinfoReportPage.getTotal()); } /** * 获取总数 */ @ApiOperation("获取各类型的总数") @PostMapping("/getTotal") public Map getTotal(ServiceDonatebaseinfoReport serviceDonatebaseinfoReport) { //去配置文件中,获取上报类型 SysConfig config = new SysConfig(); config.setConfigKey("sys.report.type"); List sysConfigs = sysConfigService.selectConfigList(config); String type = ""; if (sysConfigs != null) { type = sysConfigs.get(0).getConfigValue(); } Map map = serviceDonatebaseinfoReportService.getTotal(serviceDonatebaseinfoReport, type); return getDataTable(map, null); } /** * 导出捐献上报基础列表 */ @ApiOperation("导出捐献上报基础列表") @Log(title = "捐献上报基础", businessType = BusinessType.EXPORT) @GetMapping("/export") public AjaxResult export(ServiceDonatebaseinfoReport serviceDonatebaseinfoReport) { List list = serviceDonatebaseinfoReportService.queryList(serviceDonatebaseinfoReport).getRecords(); ExcelUtil util = new ExcelUtil(ServiceDonatebaseinfoReport.class); return util.exportExcel(list, "捐献上报基础数据"); } /** * 获取捐献上报基础详细信息 */ @ApiOperation("获取捐献上报基础详细信息") @GetMapping(value = "/getInfo/{id}") public AjaxResult getInfo(@PathVariable("id") Long id) { ServiceDonatebaseinfoReport serviceDonatebaseinfoReport = serviceDonatebaseinfoReportService.getById(id); //补充附件 ServiceDonatebaseinfoReportFile serviceDonatebaseinfoReportFile = new ServiceDonatebaseinfoReportFile(); serviceDonatebaseinfoReportFile.setDonatebaseinfoReportId(serviceDonatebaseinfoReport.getId()); serviceDonatebaseinfoReportFile.setCaseNo(serviceDonatebaseinfoReport.getCaseNo()); serviceDonatebaseinfoReportFile.setDelFlag(0); List serviceDonatebaseinfoReportFiles = serviceDonatebaseinfoReportFileService.queryList(serviceDonatebaseinfoReportFile); serviceDonatebaseinfoReport.setAnnexfilesList(serviceDonatebaseinfoReportFiles); return AjaxResult.success(serviceDonatebaseinfoReport); } /** * 新增捐献上报基础 */ @ApiOperation("新增捐献上报基础") @Log(title = "捐献上报基础", businessType = BusinessType.INSERT) @PostMapping("/add") @RepeatSubmit public AjaxResult add(@RequestBody ServiceDonatebaseinfoReport serviceDonatebaseinfoReport) { //生成案例上报ID String caseNo = String.valueOf(IdGeneratorUtils.nextId()); serviceDonatebaseinfoReport.setCaseNo(caseNo); boolean save = serviceDonatebaseinfoReportService.save(serviceDonatebaseinfoReport); //将生成的文件地址存储到数据库中 if (save) serviceDonatebaseinfoReportFileService.addList(serviceDonatebaseinfoReport.getAnnexfilesList(), serviceDonatebaseinfoReport.getCaseNo(), getNickName()); return toAjax(save); } /** * 修改捐献上报基础 */ @ApiOperation("修改捐献上报基础") @Log(title = "捐献上报基础", businessType = BusinessType.UPDATE) @PostMapping("/edit") @RepeatSubmit public AjaxResult edit(@RequestBody ServiceDonatebaseinfoReport serviceDonatebaseinfoReport) { boolean b = serviceDonatebaseinfoReportService.updateById(serviceDonatebaseinfoReport); if (b) { serviceDonatebaseinfoReportFileService.updateList(serviceDonatebaseinfoReport.getAnnexfilesList(), serviceDonatebaseinfoReport.getId(), serviceDonatebaseinfoReport.getCaseNo(), getNickName()); } return toAjax(b); } /** * 删除捐献上报基础 */ @ApiOperation("删除捐献上报基础") @GetMapping("/remove/{id}") public AjaxResult remove(@PathVariable Long id) { ServiceDonatebaseinfoReport serviceDonatebaseinfoReport = new ServiceDonatebaseinfoReport(); serviceDonatebaseinfoReport.setId(id); serviceDonatebaseinfoReport.setDelFlag(1); return toAjax(serviceDonatebaseinfoReportService.updateById(serviceDonatebaseinfoReport)); } }