| | |
| | | import com.battery.business.report.CompareReportService; |
| | | import com.battery.business.report.CompareReportRequest; |
| | | import com.battery.business.report.CompareReportEditRequest; |
| | | import com.battery.business.report.CompareFieldTemplateRepository; |
| | | import jakarta.validation.Valid; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import com.ruoyi.common.core.controller.BaseController; |
| | | import com.ruoyi.common.core.domain.AjaxResult; |
| | | import org.springframework.security.access.prepost.PreAuthorize; |
| | |
| | | { |
| | | private final CompareReportRepository reports; |
| | | private final CompareReportService service; |
| | | public CompareReportController(CompareReportRepository reports, CompareReportService service) |
| | | { this.reports = reports; this.service = service; } |
| | | private final CompareFieldTemplateRepository templates; |
| | | public CompareReportController(CompareReportRepository reports, CompareReportService service, CompareFieldTemplateRepository templates) |
| | | { this.reports = reports; this.service = service; this.templates = templates; } |
| | | |
| | | @PreAuthorize("@ss.hasPermi('system:compare-report:query')") |
| | | @GetMapping("/templates") |
| | | public AjaxResult templates() { return success(templates.list()); } |
| | | |
| | | @PreAuthorize("@ss.hasPermi('system:compare-report:add')") |
| | | @PostMapping("/templates") |
| | | public AjaxResult createTemplate(@RequestBody Map<String, Object> body) |
| | | { |
| | | String name = String.valueOf(body.getOrDefault("name", "")).trim(); |
| | | Object fields = body.get("fields"); |
| | | if (name.isBlank() || !(fields instanceof List<?> list) || list.isEmpty() || list.size() > 100) throw new com.ruoyi.common.exception.ServiceException("模板名称和字段不能为空"); |
| | | return success().put("id", templates.insert(name, (List<Map<String,Object>>) (List<?>) list, getUserId(), getUsername())); |
| | | } |
| | | |
| | | /** 查询报表摘要;筛选与分页沿用现有列表交互。 */ |
| | | @PreAuthorize("@ss.hasPermi('system:compare-report:query')") |