龚焕茏
2024-07-30 5ed3405a0156f76decc081c9f1d65d2f44f1ad8c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
package com.ycl.platform.controller;
 
import com.ycl.platform.domain.form.CalculateReportBackfillForm;
import com.ycl.platform.domain.query.CalculateReportQuery;
import com.ycl.platform.service.CalculateReportService;
import com.ycl.system.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import jakarta.servlet.http.HttpServletResponse;
import lombok.RequiredArgsConstructor;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
 
/**
 * 核算报告 前端控制器
 *
 * @author xp
 * @since 2024-04-23
 */
@Validated
@RequiredArgsConstructor
@Api(value = "核算报告", tags = "核算报告管理")
@RestController
@RequestMapping("/calculate-report")
public class CalculateReportController {
 
    private final CalculateReportService calculateReportService;
 
    @GetMapping("/page")
    @ApiOperation(value = "分页", notes = "分页")
    @PreAuthorize("@ss.hasPermi('system:calculate:report:page')")
    public Result page(CalculateReportQuery query) {
        return calculateReportService.page(query);
    }
 
    @PostMapping("/backfill/money")
    @ApiOperation(value = "回填扣款金额", notes = "回填扣款金额")
    @PreAuthorize("@ss.hasPermi('system:calculate:report:backfill')")
    public Result backfill(@Validated @RequestBody CalculateReportBackfillForm form) {
        return calculateReportService.backfill(form);
    }
 
    @GetMapping("/{id}")
    @ApiOperation(value = "详情", notes = "详情")
    @PreAuthorize("@ss.hasPermi('system:calculate:report:detail')")
    public Result detail(@PathVariable("id") Long id) {
        return calculateReportService.detail(id);
    }
 
    @PutMapping("/status/{reportId}")
    @ApiOperation(value = "修改发布状态", notes = "修改发布状态")
    @PreAuthorize("@ss.hasPermi('system:calculate:report:status')")
    public Result updatePublishStatus(@PathVariable("reportId") Long reportId) {
        return calculateReportService.updatePublishStatus(reportId);
    }
 
    @PostMapping("/export")
    @ApiOperation(value = "导出", notes = "导出")
    @PreAuthorize("@ss.hasPermi('system:calculate:report:export')")
    public void export(Integer contractId, HttpServletResponse response) {
        calculateReportService.export(contractId, response);
    }
 
}