liusheng
2024-04-22 63ebc0007e9958bd6680c6841a7460b053275790
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
147
148
149
150
151
152
153
154
155
156
157
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.BaseFinancesubject;
import com.ruoyi.project.service.IBaseFinancesubjectService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
 
import java.util.Arrays;
import java.util.List;
 
/**
 * 收入费用科目Controller
 *
 * @author ruoyi
 * @date 2022-01-11
 */
@Slf4j
@Api("收入费用科目")
@RestController
@RequestMapping("/project/financesubject")
public class BaseFinancesubjectController extends BaseController {
    @Autowired
    private IBaseFinancesubjectService baseFinancesubjectService;
 
    /**
     * 查询收入费用科目列表
     */
    @ApiOperation("查询收入费用科目列表")
    //// @PreAuthorize("@ss.hasPermi('project::list')")
    @GetMapping("/list")
    public TableDataInfo list(BaseFinancesubject baseFinancesubject) {
        log.info("查询收入费用科目列表{}:", baseFinancesubject);
        startPage();
        //List<BaseFinancesubject> list = baseFinancesubjectService.queryList(baseFinancesubject);、
        List<BaseFinancesubject> list = baseFinancesubjectService.selectBaseFinancesubjectList(baseFinancesubject);
        return getDataTable(list);
    }
 
    /**
     * 导出收入费用科目列表
     */
    @ApiOperation("导出收入费用科目列表")
    //// @PreAuthorize("@ss.hasPermi('project:financesubject:export')")
    @Log(title = "收入费用科目", businessType = BusinessType.EXPORT)
    @GetMapping("/export")
    public AjaxResult export(BaseFinancesubject baseFinancesubject) {
        log.info("导出收入费用科目列表{}:", baseFinancesubject);
        List<BaseFinancesubject> list = baseFinancesubjectService.queryList(baseFinancesubject);
        ExcelUtil<BaseFinancesubject> util = new ExcelUtil<BaseFinancesubject>(BaseFinancesubject.class);
        return util.exportExcel(list, "收入费用科目数据");
    }
 
    /**
     * 获取收入费用科目详细信息
     */
    @ApiOperation("获取收入费用科目详细信息")
    //// @PreAuthorize("@ss.hasPermi('project:financesubject:query')")
    @GetMapping(value = "/{id}")
    public AjaxResult getInfo(@PathVariable("id") Long id) {
        log.info("获取收入费用科目详细信息{}:", id);
        return AjaxResult.success(baseFinancesubjectService.getById(id));
    }
 
    /**
     * 新增收入费用科目
     */
    @ApiOperation("新增收入费用科目")
    //// @PreAuthorize("@ss.hasPermi('project:financesubject:add')")
    @Log(title = "收入费用科目", businessType = BusinessType.INSERT)
    @PostMapping("/add")
    @RepeatSubmit
    public AjaxResult add(@RequestBody BaseFinancesubject baseFinancesubject) {
        log.info("新增收入费用科目{}:", baseFinancesubject);
        boolean save = baseFinancesubjectService.save(baseFinancesubject);
        log.info("新增收入费用科目baseFinancesubject的ID为:{}", baseFinancesubject.getId());
        return AjaxResult.success(baseFinancesubject);
    }
 
    /**
     * 修改收入费用科目
     */
    @ApiOperation("修改收入费用科目")
    //// @PreAuthorize("@ss.hasPermi('project:financesubject:edit')")
    @Log(title = "收入费用科目", businessType = BusinessType.UPDATE)
    @PostMapping("/edit")
    @RepeatSubmit
    public AjaxResult edit(@RequestBody BaseFinancesubject baseFinancesubject) {
        log.info("修改收入费用科目{}:", baseFinancesubject);
        return toAjax(baseFinancesubjectService.updateById(baseFinancesubject));
    }
 
    /**
     * 删除收入费用科目
     */
    @ApiOperation("删除收入费用科目")
    //// @PreAuthorize("@ss.hasPermi('project:financesubject:remove')")
    @Log(title = "收入费用科目", businessType = BusinessType.DELETE)
    @GetMapping("/remove/{ids}")
    public AjaxResult remove(@PathVariable Long[] ids) {
        log.info("删除收入费用科目{}:", ids);
        return toAjax(baseFinancesubjectService.removeByIds(Arrays.asList(ids)));
    }
 
    @GetMapping(value = "/getItemName/{ItemType}")
    public AjaxResult getItemName(@PathVariable("ItemType") String ItemType) {
        log.info("/getItemName的入参 {}:", ItemType);
        return AjaxResult.success(baseFinancesubjectService.getItemName(ItemType));
    }
 
    @ApiOperation("获取捐献成本")
    @Log(title = "获取捐献成本", businessType = BusinessType.OTHER)
    @GetMapping(value = "/getDonationCost/{DonorNo}")
    public AjaxResult getDonationCost(@PathVariable("DonorNo") String DonorNo) {
        log.info("获取捐献成本{}:", DonorNo);
        return AjaxResult.success(baseFinancesubjectService.getDonationCost(DonorNo));
    }
 
 
    /**
     * 根据费用大类获取项目类型
     */
    @ApiOperation("根据费用大类获取项目类型")
    @Log(title = "根据费用大类获取项目类型", businessType = BusinessType.OTHER)
    @GetMapping("/getbyexpensetype/{ExpenseType}")
    public AjaxResult getByExpenseType(@PathVariable("ExpenseType") String ExpenseType) {
        log.info("根据费用大类获取项目类型{}:", ExpenseType);
        /*BaseFinancesubject baseFinancesubject=new BaseFinancesubject();
        baseFinancesubject.setExpensetype(ExpenseType);
        List<BaseFinancesubject> list = baseFinancesubjectService.queryList(baseFinancesubject);
        return AjaxResult.success(list);*/
 
        return AjaxResult.success(baseFinancesubjectService.getItemType(ExpenseType));
    }
 
 
    /**
     * 根据费用大类获取项目明细
     */
    @ApiOperation("根据费用大类获取项目明细")
    @Log(title = "根据费用大类获取项目明细", businessType = BusinessType.OTHER)
    @GetMapping("/getDetails/{ExpenseType}")
    public AjaxResult getDetails(@PathVariable("ExpenseType") String ExpenseType) {
        log.info("根据费用大类获取项目明细{}:", ExpenseType);
        return AjaxResult.success(baseFinancesubjectService.getDetails(ExpenseType));
    }
 
}