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<String, Object> list(ServiceDonatebaseinfoReport serviceDonatebaseinfoReport) {
|
Page<ServiceDonatebaseinfoReport> serviceDonatebaseinfoReportPage = serviceDonatebaseinfoReportService.queryList(serviceDonatebaseinfoReport);
|
return getDataTable(serviceDonatebaseinfoReportPage.getRecords(), (int) serviceDonatebaseinfoReportPage.getTotal());
|
}
|
|
/**
|
* 获取总数
|
*/
|
@ApiOperation("获取各类型的总数")
|
@PostMapping("/getTotal")
|
public Map<String, Object> getTotal(ServiceDonatebaseinfoReport serviceDonatebaseinfoReport) {
|
//去配置文件中,获取上报类型
|
SysConfig config = new SysConfig();
|
config.setConfigKey("sys.report.type");
|
List<SysConfig> sysConfigs = sysConfigService.selectConfigList(config);
|
String type = "";
|
if (sysConfigs != null) {
|
type = sysConfigs.get(0).getConfigValue();
|
}
|
Map<String, Object> map = serviceDonatebaseinfoReportService.getTotal(serviceDonatebaseinfoReport, type);
|
return getDataTable(map, null);
|
}
|
|
|
/**
|
* 导出捐献上报基础列表
|
*/
|
@ApiOperation("导出捐献上报基础列表")
|
@Log(title = "捐献上报基础", businessType = BusinessType.EXPORT)
|
@GetMapping("/export")
|
public AjaxResult export(ServiceDonatebaseinfoReport serviceDonatebaseinfoReport) {
|
List<ServiceDonatebaseinfoReport> list = serviceDonatebaseinfoReportService.queryList(serviceDonatebaseinfoReport).getRecords();
|
ExcelUtil<ServiceDonatebaseinfoReport> util = new ExcelUtil<ServiceDonatebaseinfoReport>(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<ServiceDonatebaseinfoReportFile> 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));
|
}
|
}
|