| | |
| | | import com.ruoyi.framework.web.page.TableDataInfo; |
| | | import com.ruoyi.sales.dto.SalesLedgerDto; |
| | | import com.ruoyi.sales.pojo.SalesLedger; |
| | | import com.ruoyi.sales.pojo.SalesLedgerProduct; |
| | | import com.ruoyi.sales.service.ICommonFileService; |
| | | import com.ruoyi.sales.service.ISalesLedgerProductService; |
| | | import com.ruoyi.sales.service.ISalesLedgerService; |
| | | import com.ruoyi.sales.vo.SalesLedgerExportVo; |
| | | import com.ruoyi.sales.vo.SalesLedgerVo; |
| | | import io.swagger.annotations.ApiParam; |
| | | import io.swagger.v3.oas.annotations.Operation; |
| | |
| | | |
| | | private ISalesLedgerService salesLedgerService; |
| | | private ICommonFileService commonFileService; |
| | | private final ISalesLedgerProductService salesLedgerProductService; |
| | | private final FileUtil fileUtil; |
| | | |
| | | /** |
| | |
| | | } |
| | | |
| | | /** |
| | | * 导出销售台账列表 |
| | | * 导出销售台账列表。 |
| | | * 传了 ids 只导勾选的台账,否则按搜索条件导出全部;导出内容为父项(台账)与子项(产品)分行。 |
| | | */ |
| | | @Log(title = "销售台账", businessType = BusinessType.EXPORT) |
| | | @PostMapping("/export") |
| | | public void export(HttpServletResponse response, SalesLedgerDto salesLedgerDto) { |
| | | Page page = new Page(-1,-1); |
| | | IPage<SalesLedgerVo> salesLedgerIPage = listPage(page, salesLedgerDto); |
| | | ExcelUtil<SalesLedgerVo> util = new ExcelUtil<SalesLedgerVo>(SalesLedgerVo.class); |
| | | if(salesLedgerIPage == null){ |
| | | util.exportExcel(response, new ArrayList<>(), "销售台账数据"); |
| | | return; |
| | | IPage<SalesLedgerVo> salesLedgerIPage = salesLedgerService.selectSalesLedgerListPage(page, salesLedgerDto); |
| | | |
| | | List<SalesLedgerExportVo> rows = new ArrayList<>(); |
| | | if (salesLedgerIPage != null && !CollectionUtils.isEmpty(salesLedgerIPage.getRecords())) { |
| | | for (SalesLedgerVo ledger : salesLedgerIPage.getRecords()) { |
| | | SalesLedgerExportVo row = SalesLedgerExportVo.fromLedger(ledger); |
| | | |
| | | SalesLedgerProduct productQuery = new SalesLedgerProduct(); |
| | | productQuery.setSalesLedgerId(ledger.getId()); |
| | | productQuery.setType(1); |
| | | List<SalesLedgerProduct> products = salesLedgerProductService.selectSalesLedgerProductList(productQuery); |
| | | if (!CollectionUtils.isEmpty(products)) { |
| | | for (SalesLedgerProduct product : products) { |
| | | row.addProduct(product); |
| | | } |
| | | List<SalesLedgerVo> list = salesLedgerIPage.getRecords(); |
| | | util.exportExcel(response, list, "销售台账数据"); |
| | | } |
| | | rows.add(row); |
| | | } |
| | | } |
| | | |
| | | ExcelUtil<SalesLedgerExportVo> util = new ExcelUtil<SalesLedgerExportVo>(SalesLedgerExportVo.class); |
| | | util.exportExcel(response, rows, "销售台账数据"); |
| | | } |
| | | |
| | | /** |