package com.ruoyi.sales.controller; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.framework.aspectj.lang.annotation.Log; import com.ruoyi.framework.web.controller.BaseController; import com.ruoyi.framework.web.domain.R; import com.ruoyi.sales.dto.InvoiceRegistrationDto; import com.ruoyi.sales.dto.InvoiceRegistrationProductDto; import com.ruoyi.sales.dto.SalesLedgerDto; import com.ruoyi.sales.service.InvoiceRegistrationService; import io.jsonwebtoken.lang.Collections; import jakarta.servlet.http.HttpServletResponse; import lombok.AllArgsConstructor; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import java.util.List; @RestController @RequestMapping("/invoiceRegistration") @AllArgsConstructor public class InvoiceRegistrationController extends BaseController { private InvoiceRegistrationService invoiceRegistrationService; /** * 开票登记记录新增 * @param salesLedgerDto * @return */ @PostMapping("/save") @Log(title = "开票登记", businessType = com.ruoyi.framework.aspectj.lang.enums.BusinessType.INSERT) @Transactional(rollbackFor = Exception.class) public R invoiceRegistrationSave(@RequestBody List salesLedgerDto) { if(Collections.isEmpty(salesLedgerDto)) return R.fail("请选择要保存的记录"); salesLedgerDto.forEach(item ->{ invoiceRegistrationService.invoiceRegistrationSave(item); }); return R.ok(); } /** * 开票登记删除 * @param ids * @return */ @DeleteMapping("/del") public R invoiceRegistrationDel(@RequestBody List ids) { invoiceRegistrationService.invoiceRegistrationDel(ids); return R.ok(); } /** * 开票记录修改 * @param invoiceRegistrationDto * @return */ @PostMapping("/update") public R invoiceRegistrationUpdate(@RequestBody InvoiceRegistrationDto invoiceRegistrationDto) { invoiceRegistrationService.invoiceRegistrationUpdate(invoiceRegistrationDto); return R.ok(); } /** * 开票登记分页查询 * @param page * @param invoiceRegistrationDto * @return */ @GetMapping("/listPage") public R invoiceRegistrationListPage(Page page, InvoiceRegistrationDto invoiceRegistrationDto) { return R.ok(invoiceRegistrationService.invoiceRegistrationListPage(page, invoiceRegistrationDto)); } /** * 开票登记产品查询 * @param invoiceRegistrationProductDto * @return */ @GetMapping("/productList") public R invoiceRegistrationProductList(InvoiceRegistrationProductDto invoiceRegistrationProductDto) { return R.ok(invoiceRegistrationService.invoiceRegistrationProductList(invoiceRegistrationProductDto)); } /** * 开票登记产品详情 * @param id * @return */ @GetMapping("/detail") public R invoiceRegistrationDetail(Integer id) { return R.ok(invoiceRegistrationService.invoiceRegistrationDetail(id)); } /** * 开票登记导出 * @param response * @param invoiceRegistrationDto */ @PostMapping("/export") public void invoiceRegistrationExport(HttpServletResponse response, InvoiceRegistrationDto invoiceRegistrationDto) { invoiceRegistrationService.invoiceRegistrationExport(response, invoiceRegistrationDto); } }