liusheng
2024-03-19 519886a70d630e3cdd6c0f40f55fcebc6e780dc5
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
package com.ruoyi.web.controller.project;
 
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.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.project.domain.ServiceFund;
import com.ruoyi.project.domain.ServiceFundtax;
import com.ruoyi.project.domain.vo.FundTaxVO;
import com.ruoyi.project.domain.vo.TotalTaxVO;
import com.ruoyi.project.service.IServiceFundService;
import com.ruoyi.project.service.IServiceFunddetailService;
import com.ruoyi.project.service.IServiceFundtaxService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
 
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.UUID;
 
/**
 * 专家费用算税申请主Controller
 *
 * @author ruoyi
 * @date 2024-03-13
 */
@Api("专家费用算税申请主")
@RestController
@RequestMapping("/project/fundtax")
public class ServiceFundtaxController extends BaseController {
    @Autowired
    private IServiceFundtaxService serviceFundtaxService;
 
    @Autowired
    private IServiceFundService serviceFundService;
 
 
    /**
     * 查询专家费用算税申请主列表
     */
    @ApiOperation("查询专家费用算税申请主列表")
    @PreAuthorize("@ss.hasPermi('system:fundtax:list')")
    @GetMapping("/list")
    public TableDataInfo list(ServiceFundtax serviceFundtax) {
        startPage();
        List<ServiceFundtax> list = serviceFundtaxService.queryList(serviceFundtax);
        return getDataTable(list);
    }
//
//    /**
//     * 导出专家费用算税申请主列表
//     */
//    @ApiOperation("导出专家费用算税申请主列表")
//    @PreAuthorize("@ss.hasPermi('system:fundtax:export')")
//    @Log(title = "专家费用算税申请主", businessType = BusinessType.EXPORT)
//    @GetMapping("/export")
//    public AjaxResult export(ServiceFundtax serviceFundtax) {
//        List<ServiceFundtax> list = serviceFundtaxService.queryList(serviceFundtax);
//        ExcelUtil<ServiceFundtax> util = new ExcelUtil<ServiceFundtax>(ServiceFundtax.class);
//        return util.exportExcel(list, "专家费用算税申请主数据");
//    }
//
//    /**
//     * 获取专家费用算税申请主详细信息
//     */
//    @ApiOperation("获取专家费用算税申请主详细信息")
//    @PreAuthorize("@ss.hasPermi('system:fundtax:query')")
//    @GetMapping(value = "/getInfo/{id}")
//    public AjaxResult getInfo(@PathVariable("id") Long id) {
//        return AjaxResult.success(serviceFundtaxService.getById(id));
//    }
//
 
    /**
     * 修改专家费用算税申请主
     */
    @ApiOperation("修改专家费用算税申请主")
    @PreAuthorize("@ss.hasPermi('system:fundtax:edit')")
    @Log(title = "专家费用算税申请主", businessType = BusinessType.UPDATE)
    @PostMapping("/edit")
    @RepeatSubmit
    public AjaxResult edit(@RequestBody ServiceFundtax serviceFundtax) {
        return toAjax(serviceFundtaxService.updateById(serviceFundtax));
    }
 
    /**
     * 删除专家费用算税申请主
     */
    @ApiOperation("删除专家费用算税申请主")
    @PreAuthorize("@ss.hasPermi('system:fundtax:remove')")
    @Log(title = "专家费用算税申请主", businessType = BusinessType.DELETE)
    @GetMapping("/remove/{id}")
    public AjaxResult remove(@PathVariable Long id) {
        return toAjax(serviceFundtaxService.removeById(id));
    }
 
 
    /**
     * 新增专家费用算税申请主
     */
    @ApiOperation("新增专家费用算税申请主")
    @PreAuthorize("@ss.hasPermi('system:fundtax:add')")
    @Log(title = "专家费用算税申请主", businessType = BusinessType.INSERT)
    @PostMapping("/addFundTax")
    public AjaxResult addFundTax(@RequestBody ServiceFundtax serviceFundtax) {
        serviceFundtax.setTaxedtime(new Date());
        serviceFundtax.setApplyno(UUID.randomUUID().toString());
        serviceFundtaxService.save(serviceFundtax);
        for (ServiceFund serviceFund : serviceFundtax.getServiceFunds()) {
            serviceFund.setFundTaxId(serviceFundtax.getId());
            serviceFundService.updateById(serviceFund);
        }
        return toAjax(serviceFundtax.getId().intValue());
    }
 
    /**
     * 获取fundTaxid的最大值
     *
     * @return
     */
    @ApiOperation("获取fundTaxid的最大值")
    @GetMapping(value = "/getMaxFundTaxId")
    public AjaxResult getMaxFundTaxId() {
        Integer maxFundTaxId = serviceFundtaxService.getMaxFundTaxId();
        return success(maxFundTaxId.toString());
    }
 
    /**
     * 批量算税
     *
     * @param fundTaxVO
     * @return
     */
    @ApiOperation("批量算税")
    @PostMapping(value = "/batchFundTax")
    public AjaxResult batchFundTax(@RequestBody FundTaxVO fundTaxVO) {
        return toAjax(serviceFundtaxService.batchFundTax(fundTaxVO));
    }
}