| | |
| | | @PreAuthorize("@ss.hasPermission('erp:purchase-order:query')") |
| | | public CommonResult<PageResult<ErpPurchaseOrderRespVO>> getPurchaseOrderPage(@Valid ErpPurchaseOrderPageReqVO pageReqVO) { |
| | | PageResult<ErpPurchaseOrderDO> pageResult = purchaseOrderService.getPurchaseOrderPage(pageReqVO); |
| | | return success(buildPurchaseOrderVOPageResult(pageResult)); |
| | | return success(buildPurchaseOrderVOPageResult(pageResult, pageReqVO.getInvoiceId())); |
| | | } |
| | | |
| | | @GetMapping("/export-excel") |
| | |
| | | public void exportPurchaseOrderExcel(@Valid ErpPurchaseOrderPageReqVO pageReqVO, |
| | | HttpServletResponse response) throws IOException { |
| | | pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); |
| | | List<ErpPurchaseOrderRespVO> list = buildPurchaseOrderVOPageResult(purchaseOrderService.getPurchaseOrderPage(pageReqVO)).getList(); |
| | | List<ErpPurchaseOrderRespVO> list = buildPurchaseOrderVOPageResult(purchaseOrderService.getPurchaseOrderPage(pageReqVO), null).getList(); |
| | | // 导出 Excel |
| | | ExcelUtils.write(response, "采购订单.xls", "数据", ErpPurchaseOrderRespVO.class, list); |
| | | } |
| | |
| | | return success(true); |
| | | } |
| | | |
| | | private PageResult<ErpPurchaseOrderRespVO> buildPurchaseOrderVOPageResult(PageResult<ErpPurchaseOrderDO> pageResult) { |
| | | private PageResult<ErpPurchaseOrderRespVO> buildPurchaseOrderVOPageResult(PageResult<ErpPurchaseOrderDO> pageResult, |
| | | Long excludeInvoiceId) { |
| | | if (CollUtil.isEmpty(pageResult.getList())) { |
| | | return PageResult.empty(pageResult.getTotal()); |
| | | } |
| | |
| | | convertSet(purchaseOrderItemList, ErpPurchaseOrderItemDO::getProductUnitId)); |
| | | // 1.6 已来票金额:按采购订单统计,用于计算剩余可开票金额 |
| | | Map<Long, BigDecimal> invoicePriceSumMap = purchaseInvoiceService |
| | | .getPurchaseInvoicePriceSumMapByOrderIds(convertSet(pageResult.getList(), ErpPurchaseOrderDO::getId)); |
| | | .getPurchaseInvoicePriceSumMapByOrderIds(convertSet(pageResult.getList(), ErpPurchaseOrderDO::getId), excludeInvoiceId); |
| | | // 2. 开始拼接 |
| | | return BeanUtils.toBean(pageResult, ErpPurchaseOrderRespVO.class, purchaseOrder -> { |
| | | purchaseOrder.setItems(BeanUtils.toBean( |