package com.ruoyi.account.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.account.bean.dto.AccountSubjectDto;
import com.ruoyi.account.bean.vo.AccountSubjectVo;
import com.ruoyi.account.service.AccountSubjectService;
import com.ruoyi.framework.aspectj.lang.annotation.Log;
import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
import com.ruoyi.framework.web.domain.R;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.servlet.http.HttpServletResponse;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;
import java.util.Arrays;
/**
*
* 总账科目表 前端控制器
*
*
* @author 芯导软件(江苏)有限公司
* @since 2026-05-07 04:45:30
*/
@RestController
@RequestMapping("/accountSubject")
@RequiredArgsConstructor
@Tag(name = "总账科目")
public class AccountSubjectController {
private final AccountSubjectService accountSubjectService;
@GetMapping("list")
@Log(title = "总账科目数据集合", businessType = BusinessType.OTHER)
@Operation(summary = "总账科目分页查询")
public R> AccountSubjectDtoList(Page page, AccountSubjectDto accountSubjectDto) {
IPage paramList = accountSubjectService.baseList(page, accountSubjectDto);
return R.ok(paramList);
}
@PostMapping("/add")
@Log(title = "新增总账科目", businessType = BusinessType.INSERT)
@Operation(summary = "新增总账科目")
public R AccountSubjectDtoAdd(@RequestBody AccountSubjectDto accountSubjectDto) {
return R.ok(accountSubjectService.save(accountSubjectDto));
}
@PutMapping("/edit")
@Log(title = "修改总账科目", businessType = BusinessType.UPDATE)
@Operation(summary = "修改总账科目")
public R AccountSubjectDtoEdit(@RequestBody AccountSubjectDto accountSubjectDto) {
return R.ok(accountSubjectService.updateById(accountSubjectDto));
}
@DeleteMapping("/remove/{ids}")
@Log(title = "删除总账科目", businessType = BusinessType.DELETE)
@Operation(summary = "删除总账科目")
public R AccountSubjectDtooRemove(@PathVariable Long[] ids) {
return R.ok(accountSubjectService.removeBatchByIds(Arrays.asList(ids)));
}
@PostMapping("/export")
@Operation(summary = "导出总账科目文件")
@Log(title = "导出总账科目文件", businessType = BusinessType.EXPORT)
public void exportAccountSubject(HttpServletResponse response) {
accountSubjectService.exportAccountSubject(response);
}
}