package com.ruoyi.account.controller; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.account.dto.ReportDateDto; import com.ruoyi.account.pojo.AccountExpense; import com.ruoyi.account.service.AccountExpenseService; import com.ruoyi.account.service.AccountIncomeService; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.dto.DateQueryDto; import com.ruoyi.framework.security.LoginUser; import com.ruoyi.framework.web.domain.AjaxResult; import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Operation; import jakarta.annotation.Resource; import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.*; import jakarta.servlet.http.HttpServletResponse; import java.util.Date; import java.util.List; /** * 财务管理--支出管理 */ @RestController @RequestMapping("/account/accountExpense") @Tag(name = "财务管理--支出管理") public class AccountExpenseController { @Resource private AccountExpenseService accountExpenseService; @Resource private AccountIncomeService accountIncomeService; /** * 新增 * @param accountExpense * @return */ @PostMapping("/add") @Operation(summary = "新增") public AjaxResult add(@RequestBody AccountExpense accountExpense) { accountExpense.setInputTime(new Date()); LoginUser loginUser = SecurityUtils.getLoginUser(); accountExpense.setInputUser(loginUser.getNickName()); return AjaxResult.success(accountExpenseService.save(accountExpense)); } /** * 删除 * @param ids * @return */ @DeleteMapping("/del") @Operation(summary = "删除") public AjaxResult delQualityInspect(@RequestBody List ids) { if(CollectionUtils.isEmpty(ids)){ return AjaxResult.error("请选择至少一条数据"); } //删除检验单 return AjaxResult.success(accountExpenseService.removeBatchByIds(ids)); } /** * 修改 * @param accountExpense * @return */ @PostMapping("/update") @Operation(summary = "修改") public AjaxResult update(@RequestBody AccountExpense accountExpense) { return AjaxResult.success(accountExpenseService.updateById(accountExpense)); } /** *分页查询 * @param page * @param accountExpense * @return */ @GetMapping("/listPage") @Operation(summary = "分页查询") public AjaxResult accountExpenseListPage(Page page, AccountExpense accountExpense) { return AjaxResult.success(accountExpenseService.accountExpenseListPage(page, accountExpense)); } /** * 详情 * @param id * @return */ @GetMapping("/{id}") @Operation(summary = "详情") public AjaxResult accountExpenseDetail(@PathVariable("id") Integer id) { return AjaxResult.success(accountExpenseService.getById(id)); } /** * 导出 * @param response * @param accountExpense */ @PostMapping("/export") @Operation(summary = "导出") public void accountExpenseExport(HttpServletResponse response,AccountExpense accountExpense) { accountExpenseService.accountExpenseExport(response, accountExpense); } /** * 财务报表图表查询 * @param dateQueryDto * @return */ @GetMapping("/report/forms") @Operation(summary = "财务报表图表查询") public AjaxResult report(DateQueryDto dateQueryDto) { return AjaxResult.success(accountExpenseService.report(dateQueryDto)); } /** * 财务报表-财务分析 * @return */ @GetMapping("/report/analysis") @Operation(summary = "财务报表-财务分析") public AjaxResult analysis() { return AjaxResult.success(accountExpenseService.analysis()); } /** * 财务报表图表收入年度查询 * @param * @return */ @GetMapping("/report/income") @Operation(summary = "财务报表图表收入年度查询") public AjaxResult reportIncome(ReportDateDto reportDateDto) { return AjaxResult.success(accountIncomeService.reportIncome(reportDateDto)); } /** * 财务报表图表支出年度查询 * @param * @return */ @GetMapping("/report/expense") @Operation(summary = "财务报表图表支出年度查询") public AjaxResult reportExpense(ReportDateDto reportDateDto) { return AjaxResult.success(accountExpenseService.reportExpense(reportDateDto)); } }