From 1e89b00b0919a19504f32b56fb1ef80298799ec4 Mon Sep 17 00:00:00 2001
From: wujianwei <wjw@11.com>
Date: 星期五, 20 三月 2026 14:30:29 +0800
Subject: [PATCH] 新增定时任务
---
quartz/src/main/java/com/ruoyi/quartz/task/ReceivableBillAgingTask.java | 62 +-----------------------------
1 files changed, 3 insertions(+), 59 deletions(-)
diff --git a/quartz/src/main/java/com/ruoyi/quartz/task/ReceivableBillAgingTask.java b/quartz/src/main/java/com/ruoyi/quartz/task/ReceivableBillAgingTask.java
index d157b22..f9ed96a 100644
--- a/quartz/src/main/java/com/ruoyi/quartz/task/ReceivableBillAgingTask.java
+++ b/quartz/src/main/java/com/ruoyi/quartz/task/ReceivableBillAgingTask.java
@@ -27,71 +27,15 @@
/**
* 鏇存柊搴旀敹璐﹀崟璐﹂緞鍒嗘瀽鏁版嵁
- * 姣忓ぉ鍑屾櫒鎵ц锛屾洿鏂版墍鏈夊簲鏀惰处鍗曠殑璐﹂緞鍒嗘鏁版嵁
+ * 姣忓ぉ鍑屾櫒鎵ц锛屼娇鐢ㄦ暟鎹簱灞傞潰鎵归噺鏇存柊锛屾�ц兘鏈�浼�
*/
public void updateAgingAnalysisData()
{
try {
logger.info("寮�濮嬫墽琛屽簲鏀惰处鍗曡处榫勫垎鏋愭暟鎹洿鏂颁换鍔�");
- // 鏌ヨ鎵�鏈夐渶瑕佹洿鏂拌处榫勬暟鎹殑搴旀敹璐﹀崟
- ReceivableBillManagement query = new ReceivableBillManagement();
- List<ReceivableBillManagement> billList = receivableBillManagementService.selectReceivableBillManagementList(query);
-
- int updatedCount = 0;
- Date currentDate = new Date();
-
- for (ReceivableBillManagement bill : billList) {
- if (bill.getBillDueDate() != null && bill.getPendingAmount() != null &&
- bill.getPendingAmount().compareTo(BigDecimal.ZERO) > 0) {
-
- // 璁$畻閫炬湡澶╂暟
- long diffInMillies = Math.abs(currentDate.getTime() - bill.getBillDueDate().getTime());
- long diffInDays = diffInMillies / (1000 * 60 * 60 * 24);
-
- // 閲嶇疆鎵�鏈夎处榫勫瓧娈�
- bill.setDueIn30Days(BigDecimal.ZERO);
- bill.setOverdueAmount(BigDecimal.ZERO);
- bill.setOverdue1To30Days(BigDecimal.ZERO);
- bill.setOverdue31To60Days(BigDecimal.ZERO);
- bill.setOverdue61To90Days(BigDecimal.ZERO);
- bill.setOverdue91To180Days(BigDecimal.ZERO);
- bill.setOverdue181To365Days(BigDecimal.ZERO);
- bill.setOverdueOver1Year(BigDecimal.ZERO);
- bill.setOverdueDays(0);
-
- // 璁$畻30澶╁唴鍒版湡閲戦
- if (bill.getBillDueDate().after(currentDate)) {
- long daysUntilDue = diffInDays;
- if (daysUntilDue <= 30) {
- bill.setDueIn30Days(bill.getPendingAmount());
- }
- } else {
- // 璐﹀崟宸查�炬湡
- bill.setOverdueAmount(bill.getPendingAmount());
- bill.setOverdueDays((int) diffInDays);
-
- // 鏍规嵁閫炬湡澶╂暟鍒嗛厤鍒颁笉鍚岀殑璐﹂緞鍒嗘
- if (diffInDays <= 30) {
- bill.setOverdue1To30Days(bill.getPendingAmount());
- } else if (diffInDays <= 60) {
- bill.setOverdue31To60Days(bill.getPendingAmount());
- } else if (diffInDays <= 90) {
- bill.setOverdue61To90Days(bill.getPendingAmount());
- } else if (diffInDays <= 180) {
- bill.setOverdue91To180Days(bill.getPendingAmount());
- } else if (diffInDays <= 365) {
- bill.setOverdue181To365Days(bill.getPendingAmount());
- } else {
- bill.setOverdueOver1Year(bill.getPendingAmount());
- }
- }
-
- // 鏇存柊璐﹀崟璁板綍
- receivableBillManagementService.updateReceivableBillManagement(bill);
- updatedCount++;
- }
- }
+ // 浣跨敤鏁版嵁搴撳眰闈㈡壒閲忔洿鏂帮紝閬垮厤鏌ヨ鏁版嵁鍒板簲鐢ㄥ眰
+ int updatedCount = receivableBillManagementService.batchUpdateAgingAnalysisData();
logger.info("搴旀敹璐﹀崟璐﹂緞鍒嗘瀽鏁版嵁鏇存柊浠诲姟瀹屾垚锛屽叡鏇存柊 {} 鏉¤褰�", updatedCount);
--
Gitblit v1.8.0