liusheng
2024-03-20 c642194fc7764a59787ac937239f26b27e0dcbad
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundtaxController.java
@@ -6,8 +6,10 @@
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.service.IServiceFundService;
import com.ruoyi.project.service.IServiceFundtaxService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -15,22 +17,24 @@
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import java.util.Arrays;
import java.util.List;
import java.util.*;
/**
 * 专家费用算税申请主Controller
 *
 *
 * @author ruoyi
 * @date 2024-03-13
 */
@Api("专家费用算税申请主")
@RestController
@RequestMapping("/system/fundtax")
public class ServiceFundtaxController extends BaseController
{
@RequestMapping("/project/fundtax")
public class ServiceFundtaxController extends BaseController {
    @Autowired
    private IServiceFundtaxService serviceFundtaxService;
    @Autowired
    private IServiceFundService serviceFundService;
    /**
     * 查询专家费用算税申请主列表
@@ -38,50 +42,39 @@
    @ApiOperation("查询专家费用算税申请主列表")
    @PreAuthorize("@ss.hasPermi('system:fundtax:list')")
    @GetMapping("/list")
    public TableDataInfo list(ServiceFundtax serviceFundtax)
    {
    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: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 = "/{id}")
    public AjaxResult getInfo(@PathVariable("id") Long id)
    {
        return AjaxResult.success(serviceFundtaxService.getById(id));
    @GetMapping(value = "/getInfo/{id}")
    public AjaxResult getInfo(@PathVariable("id") Long id) {
        ServiceFundtax serviceFundtax = serviceFundtaxService.getById(id);
        ServiceFund serviceFund=new ServiceFund();
        serviceFund.setFundTaxId(id);
        serviceFundtax.setServiceFunds(serviceFundService.queryList(serviceFund));
        return AjaxResult.success(serviceFundtax);
    }
    /**
     * 新增专家费用算税申请主
     */
    @ApiOperation("新增专家费用算税申请主")
    @PreAuthorize("@ss.hasPermi('system:fundtax:add')")
    @Log(title = "专家费用算税申请主", businessType = BusinessType.INSERT)
    @PostMapping
    @RepeatSubmit
    public AjaxResult add(@RequestBody ServiceFundtax serviceFundtax)
    {
        return toAjax(serviceFundtaxService.save(serviceFundtax));
    }
    /**
     * 修改专家费用算税申请主
@@ -89,10 +82,9 @@
    @ApiOperation("修改专家费用算税申请主")
    @PreAuthorize("@ss.hasPermi('system:fundtax:edit')")
    @Log(title = "专家费用算税申请主", businessType = BusinessType.UPDATE)
    @PutMapping
    @RepeatSubmit
    public AjaxResult edit(@RequestBody ServiceFundtax serviceFundtax)
    {
    @PostMapping("/edit")
    @RepeatSubmit
    public AjaxResult edit(@RequestBody ServiceFundtax serviceFundtax) {
        return toAjax(serviceFundtaxService.updateById(serviceFundtax));
    }
@@ -102,9 +94,53 @@
    @ApiOperation("删除专家费用算税申请主")
    @PreAuthorize("@ss.hasPermi('system:fundtax:remove')")
    @Log(title = "专家费用算税申请主", businessType = BusinessType.DELETE)
    @DeleteMapping("/{ids}")
    public AjaxResult remove(@PathVariable Long[] ids)
    {
        return toAjax(serviceFundtaxService.removeByIds(Arrays.asList(ids)));
    @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);
        }
        Map<String, Long> map = new HashMap<>();
        map.put("fundTaxId", serviceFundtax.getId());
        return AjaxResult.success(map);
    }
    /**
     * 获取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));
    }
}