From 0050395dfb05425f0a929bc1587b971d78f1e95e Mon Sep 17 00:00:00 2001 From: liding <756868258@qq.com> Date: 星期一, 26 五月 2025 17:47:28 +0800 Subject: [PATCH] 首页数据排序 --- src/main/java/com/ruoyi/sales/controller/SalesLedgerController.java | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 57 insertions(+), 1 deletions(-) diff --git a/src/main/java/com/ruoyi/sales/controller/SalesLedgerController.java b/src/main/java/com/ruoyi/sales/controller/SalesLedgerController.java index fae38e5..c7b7ccf 100644 --- a/src/main/java/com/ruoyi/sales/controller/SalesLedgerController.java +++ b/src/main/java/com/ruoyi/sales/controller/SalesLedgerController.java @@ -6,15 +6,21 @@ import com.ruoyi.framework.web.controller.BaseController; import com.ruoyi.framework.web.domain.AjaxResult; import com.ruoyi.framework.web.page.TableDataInfo; +import com.ruoyi.sales.dto.InvoiceLedgerDto; import com.ruoyi.sales.dto.SalesLedgerDto; +import com.ruoyi.sales.mapper.InvoiceLedgerMapper; import com.ruoyi.sales.pojo.SalesLedger; import com.ruoyi.sales.service.ICommonFileService; import com.ruoyi.sales.service.ISalesLedgerService; import lombok.AllArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; +import java.math.BigDecimal; import java.util.List; +import java.util.stream.Collectors; /** * 閿�鍞彴璐ontroller @@ -31,6 +37,9 @@ private ICommonFileService commonFileService; + @Autowired + private InvoiceLedgerMapper invoiceLedgerMapper; + /** * 鏌ヨ閿�鍞彴璐﹀垪琛� */ @@ -38,6 +47,23 @@ public TableDataInfo list(SalesLedgerDto salesLedgerDto) { startPage(); List<SalesLedger> list = salesLedgerService.selectSalesLedgerList(salesLedgerDto); + // 璁$畻宸插紑绁ㄩ噾棰�/鏈紑绁ㄩ噾棰�(宸插~鍐欏彂绁ㄩ噾棰濅负鍑�) + if(CollectionUtils.isEmpty(list)){ + return getDataTable(list); + } + List<Long> salesLedgerIds = list.stream().map(SalesLedger::getId).collect(Collectors.toList()); + List<InvoiceLedgerDto> invoiceLedgerDtoList = invoiceLedgerMapper.invoicedTotal(salesLedgerIds); + if(CollectionUtils.isEmpty(invoiceLedgerDtoList)){ + return getDataTable(list); + } + for (SalesLedger salesLedger : list) { + for (InvoiceLedgerDto invoiceLedgerDto : invoiceLedgerDtoList) { + if (salesLedger.getId().intValue() == invoiceLedgerDto.getSalesLedgerId()) { + BigDecimal noInvoiceAmountTotal = salesLedger.getContractAmount().subtract(invoiceLedgerDto.getInvoiceTotal()); + salesLedger.setNoInvoiceAmountTotal(noInvoiceAmountTotal); + } + } + } return getDataTable(list); } @@ -83,11 +109,12 @@ /** * 鏌ヨ閿�鍞彴璐︿笉鍒嗛〉 + * * @param salesLedgerDto * @return */ @GetMapping("/listNoPage") - public AjaxResult listNoPage(SalesLedgerDto salesLedgerDto){ + public AjaxResult listNoPage(SalesLedgerDto salesLedgerDto) { List<SalesLedger> list = salesLedgerService.selectSalesLedgerList(salesLedgerDto); return AjaxResult.success(list); } @@ -103,4 +130,33 @@ } return toAjax(commonFileService.deleteSalesLedgerByIds(ids)); } + + /** + * 鏈湀閿�鍞悎鍚岄噾棰� + */ + @GetMapping("/getContractAmount") + public AjaxResult getContractAmount() { + try { + BigDecimal contractAmount = salesLedgerService.getContractAmount(); + return AjaxResult.success(contractAmount != null ? contractAmount : BigDecimal.ZERO); + } catch (Exception e) { + return AjaxResult.error("鑾峰彇鍚堝悓閲戦澶辫触锛�" + e.getMessage()); + } + } + + /** + * 瀹㈡埛鍚堝悓閲戦TOP5缁熻 + */ + @GetMapping("/getTopFiveList") + public AjaxResult getTopFiveList() { + return AjaxResult.success(salesLedgerService.getTopFiveList()); + } + + /** + * 杩戝崐骞村紑绁�,鍥炴閲戦 + */ + @GetMapping("/getAmountHalfYear") + public AjaxResult getAmountHalfYear() { + return AjaxResult.success(salesLedgerService.getAmountHalfYear()); + } } -- Gitblit v1.9.3