package com.ruoyi.purchase.controller; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.framework.aspectj.lang.annotation.Log; import com.ruoyi.framework.aspectj.lang.enums.BusinessType; import com.ruoyi.framework.web.controller.BaseController; import com.ruoyi.framework.web.domain.AjaxResult; import com.ruoyi.framework.web.page.TableDataInfo; import com.ruoyi.purchase.dto.TicketRegistrationDto; import com.ruoyi.purchase.pojo.ProductRecord; import com.ruoyi.purchase.pojo.TicketRegistration; import com.ruoyi.purchase.service.IProductRecordService; import com.ruoyi.purchase.service.ITicketRegistrationService; import com.ruoyi.sales.service.ICommonFileService; import lombok.AllArgsConstructor; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.List; /** * 来票登记Controller * * @author ruoyi * @date 2025-05-13 */ @RestController @RequestMapping("/purchase/registration") @AllArgsConstructor public class TicketRegistrationController extends BaseController { private ITicketRegistrationService ticketRegistrationService; private ICommonFileService commonFileService; private IProductRecordService productRecordService; /** * 查询来票登记列表 */ @GetMapping("/list") public TableDataInfo list(TicketRegistration ticketRegistration) { startPage(); List list = ticketRegistrationService.selectTicketRegistrationList(ticketRegistration); return getDataTable(list); } /** * 导出来票登记列表 */ @Log(title = "来票登记", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(HttpServletResponse response, TicketRegistration ticketRegistration) { List list = ticketRegistrationService.selectTicketRegistrationList(ticketRegistration); ExcelUtil util = new ExcelUtil(TicketRegistration.class); util.exportExcel(response, list, "来票登记数据"); } /** * 查询来票登记和产品父子列表 */ @GetMapping("/getRegistrationById") public TicketRegistrationDto getRegistrationById(TicketRegistrationDto ticketRegistrationDto) { return ticketRegistrationService.getRegistrationById(ticketRegistrationDto); } /** * 新增修改来票登记 */ @Log(title = "来票登记", businessType = BusinessType.INSERT) @PostMapping("/addOrUpdateRegistration") public AjaxResult addOrUpdateRegistration(@RequestBody TicketRegistrationDto ticketRegistrationDto) throws IOException { return toAjax(ticketRegistrationService.addOrUpdateRegistration(ticketRegistrationDto)); } /** * 删除来票登记 */ @Log(title = "来票登记", businessType = BusinessType.DELETE) @DeleteMapping("/delRegistration") public AjaxResult delRegistration(@RequestBody Long[] ids) { return toAjax(ticketRegistrationService.delRegistration(ids)); } @PostMapping("/upload") public AjaxResult uploadFile(MultipartFile file, Long id, String type) { try { return AjaxResult.success(commonFileService.uploadFile(file, id, type)); } catch (Exception e) { return AjaxResult.error(e.getMessage()); } } /** * 查询产品信息开票记录列表 */ @GetMapping("/productRecordList") public List productRecordList(TicketRegistrationDto ticketRegistrationDto) { List list = productRecordService.selectProductRecordList(ticketRegistrationDto); return list; } /** * 查询发票号 */ @GetMapping("/getTicketNo") public AjaxResult getTicketNo(TicketRegistrationDto ticketRegistrationDto) { return AjaxResult.success(ticketRegistrationService.getTicketNo(ticketRegistrationDto)); } }