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.project.domain.ServiceDonateannex; 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; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; import java.text.SimpleDateFormat; import java.util.*; /** * 专家费用算税申请主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 list = serviceFundtaxService.queryList(serviceFundtax); Collections.sort(list, (sft1, sft2) -> { Long i = sft2.getId() - sft1.getId(); return i.intValue(); }); return getDataTable(list); } // // /** // * 导出专家费用算税申请主列表 // */ // @ApiOperation("导出专家费用算税申请主列表") // @PreAuthorize("@ss.hasPermi('system:fundtax:export')") // @Log(title = "专家费用算税申请主", businessType = BusinessType.EXPORT) // @GetMapping("/export") // public AjaxResult export(ServiceFundtax serviceFundtax) { // List list = serviceFundtaxService.queryList(serviceFundtax); // ExcelUtil util = new ExcelUtil(ServiceFundtax.class); // return util.exportExcel(list, "专家费用算税申请主数据"); // } /** * 获取专家费用算税申请主详细信息 */ @ApiOperation("获取专家费用算税申请主详细信息") @PreAuthorize("@ss.hasPermi('system:fundtax:query')") @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: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(new SimpleDateFormat("yyyyMMddHHmmss").format(new Date())); serviceFundtaxService.save(serviceFundtax); for (ServiceFund serviceFund : serviceFundtax.getServiceFunds()) { serviceFund.setFundTaxId(serviceFundtax.getId()); serviceFundService.updateById(serviceFund); } Map 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)); } }