package com.ruoyi.order.controller;
import cn.afterturn.easypoi.excel.ExcelExportUtil;
import cn.afterturn.easypoi.excel.entity.ExportParams;
import com.ruoyi.common.core.utils.DateUtils;
import com.ruoyi.common.core.utils.WebUtils;
import com.ruoyi.common.core.web.domain.AjaxResult;
import com.ruoyi.common.core.web.page.PageInfo;
import com.ruoyi.common.log.annotation.Log;
import com.ruoyi.common.log.enums.BusinessType;
import com.ruoyi.order.api.model.TOrderInvoice;
import com.ruoyi.order.api.query.TOrderInvoiceQuery;
import com.ruoyi.order.api.vo.TOrderInvoiceVO;
import com.ruoyi.order.dto.AddOrderInvoice;
import com.ruoyi.order.dto.GetOrderInvoiceList;
import com.ruoyi.order.dto.MyOrderInvoiceInfo;
import com.ruoyi.order.dto.OrderInvoiceList;
import com.ruoyi.order.export.OrderInvoiceExport;
import com.ruoyi.order.service.TOrderInvoiceService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.poi.ss.usermodel.Workbook;
import org.springframework.beans.BeanUtils;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
*
* 前端控制器
*
*
* @author xiaochen
* @since 2024-08-07
*/
@Api(tags = "订单开票")
@RestController
@RequestMapping("/t-order-invoice")
public class TOrderInvoiceController {
@Resource
private TOrderInvoiceService orderInvoiceService;
@ResponseBody
@PostMapping("/addOrderInvoice")
@ApiOperation(value = "添加开票申请", tags = {"小程序-充电发票"})
public AjaxResult addOrderInvoice(@RequestBody AddOrderInvoice addOrderInvoice){
return orderInvoiceService.addOrderInvoice(addOrderInvoice);
}
@PostMapping("/pageList")
@ApiOperation(value = "查询开票分页列表", tags = {"管理后台-发票管理"})
public AjaxResult> pageList(@RequestBody TOrderInvoiceQuery query){
return AjaxResult.success(orderInvoiceService.pageList(query));
}
@GetMapping("/uploadPdf")
@ApiOperation(value = "上传发票", tags = {"管理后台-发票管理"})
public AjaxResult uploadPdf(@RequestParam("id") Long id,
@RequestParam("invoiceUrl") String invoiceUrl){
TOrderInvoice orderInvoice = orderInvoiceService.getById(id);
orderInvoice.setInvoiceUrl(invoiceUrl);
orderInvoiceService.updateById(orderInvoice);
return AjaxResult.success();
}
@PostMapping("/statusCount")
@ApiOperation(value = "查询开票状态数量", tags = {"管理后台-发票管理"})
public AjaxResult