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.domain.AjaxResult; 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 org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; import java.util.List; @RestController @RequestMapping("/invoiceRegistration") public class InvoiceRegistrationController { @Autowired private InvoiceRegistrationService invoiceRegistrationService; /** * 开票登记记录新增 * @param salesLedgerDto * @return */ @PostMapping("/save") @Log(title = "开票登记", businessType = com.ruoyi.framework.aspectj.lang.enums.BusinessType.INSERT) @Transactional(rollbackFor = Exception.class) public AjaxResult invoiceRegistrationSave(@RequestBody List salesLedgerDto) { if(Collections.isEmpty(salesLedgerDto)) return AjaxResult.error("请选择要保存的记录"); salesLedgerDto.forEach(item ->{ invoiceRegistrationService.invoiceRegistrationSave(item); }); return AjaxResult.success(); } /** * 开票登记删除 * @param ids * @return */ @DeleteMapping("/del") public AjaxResult invoiceRegistrationDel(@RequestBody List ids) { invoiceRegistrationService.invoiceRegistrationDel(ids); return AjaxResult.success(); } /** * 开票记录修改 * @param invoiceRegistrationDto * @return */ @PostMapping("/update") public AjaxResult invoiceRegistrationUpdate(@RequestBody InvoiceRegistrationDto invoiceRegistrationDto) { invoiceRegistrationService.invoiceRegistrationUpdate(invoiceRegistrationDto); return AjaxResult.success(); } /** * 开票登记分页查询 * @param page * @param invoiceRegistrationDto * @return */ @GetMapping("/listPage") public AjaxResult invoiceRegistrationListPage(Page page, InvoiceRegistrationDto invoiceRegistrationDto) { return AjaxResult.success(invoiceRegistrationService.invoiceRegistrationListPage(page, invoiceRegistrationDto)); } /** * 开票登记产品查询 * @param invoiceRegistrationProductDto * @return */ @GetMapping("/productList") public AjaxResult invoiceRegistrationProductList(InvoiceRegistrationProductDto invoiceRegistrationProductDto) { return AjaxResult.success(invoiceRegistrationService.invoiceRegistrationProductList(invoiceRegistrationProductDto)); } /** * 开票登记产品详情 * @param id * @return */ @GetMapping("/detail") public AjaxResult invoiceRegistrationDetail(Integer id) { return AjaxResult.success(invoiceRegistrationService.invoiceRegistrationDetail(id)); } /** * 开票登记导出 * @param response * @param invoiceRegistrationDto */ @PostMapping("/export") public void invoiceRegistrationExport(HttpServletResponse response, InvoiceRegistrationDto invoiceRegistrationDto) { invoiceRegistrationService.invoiceRegistrationExport(response, invoiceRegistrationDto); } }