From e2eb6557cef6b7848c4d77961706abb0b3896380 Mon Sep 17 00:00:00 2001
From: sgj <1442489573@qq.com>
Date: 星期二, 17 三月 2026 14:36:42 +0800
Subject: [PATCH] 质押还款提醒文案更改

---
 fzzy-igdss-core/src/main/java/com/fzzy/igds/timer/JobWarnService.java   |   42 +++++++++++++++------
 fzzy-igdss-core/src/main/java/com/fzzy/work/service/BizWorkService.java |   31 +++++++++------
 fzzy-igdss-core/src/main/java/com/fzzy/igds/data/PledgeReminders.java   |    4 +-
 3 files changed, 51 insertions(+), 26 deletions(-)

diff --git a/fzzy-igdss-core/src/main/java/com/fzzy/igds/data/PledgeReminders.java b/fzzy-igdss-core/src/main/java/com/fzzy/igds/data/PledgeReminders.java
index d155c25..b2bab9e 100644
--- a/fzzy-igdss-core/src/main/java/com/fzzy/igds/data/PledgeReminders.java
+++ b/fzzy-igdss-core/src/main/java/com/fzzy/igds/data/PledgeReminders.java
@@ -26,10 +26,10 @@
     private String foodVarietyName;
 
     //绮鍗曚环
-    private Double foodPrice;
+    private Double foodPrice=0.0;
 
     //瀹為檯搴撳瓨
-    private Double storageReal;
+    private Double storageReal=0.0;
 
 
 }
diff --git a/fzzy-igdss-core/src/main/java/com/fzzy/igds/timer/JobWarnService.java b/fzzy-igdss-core/src/main/java/com/fzzy/igds/timer/JobWarnService.java
index 3ee1044..d8bdf0a 100644
--- a/fzzy-igdss-core/src/main/java/com/fzzy/igds/timer/JobWarnService.java
+++ b/fzzy-igdss-core/src/main/java/com/fzzy/igds/timer/JobWarnService.java
@@ -18,9 +18,9 @@
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
-import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
+import java.util.Map;
 
 /**
  * @Description 璀﹀憡淇℃伅瀹氭椂缁熻锛氳繕娆炬彁閱�
@@ -67,7 +67,9 @@
         double backMoney = 0.0;
         for (PledgeContract pledgeContract : contractList) {
             log.info("-----寮�濮嬪鐞嗚川鎶煎悎鍚岋細{}-----", pledgeContract.getName());
-            List<PledgeReminders> remindersList = new ArrayList<>();
+//            List<PledgeReminders> remindersList = new ArrayList<>();
+
+            Map<String,PledgeReminders> remindersMap = new java.util.HashMap<>();
 
 
             //璁$畻寰呰繕娆鹃噾棰�
@@ -115,23 +117,39 @@
                 }
 
                 sumMoney += depot.getStorageReal() * foodPrice.getPrice();
-                PledgeReminders reminders = new PledgeReminders();
-                reminders.setDepotId(depot.getId());
-                reminders.setDepotName(depot.getName());
-                reminders.setFoodVariety(depot.getFoodVariety());
-                reminders.setFoodVarietyName(depot.getFoodVarietyName());
-                reminders.setFoodPrice(foodPrice.getPrice());
-                reminders.setStorageReal(depot.getStorageReal());
-                remindersList.add(reminders);
+                //鎸夊搧绉�+鍗曚环鐢熸垚key锛屾潵浣滀负鍞竴鏍囪瘑锛岀粺璁$伯椋熷搧绉嶇殑搴撳瓨閲忎互鍙婄伯椋熷搧绉嶄俊鎭�
+                String key=depot.getFoodVariety()+foodPrice.getPrice();
+                PledgeReminders pledgeReminders = remindersMap.get(key);
+                if (null == pledgeReminders) {
+                    pledgeReminders = new PledgeReminders();
+                    pledgeReminders.setFoodVariety(depot.getFoodVariety());
+                    pledgeReminders.setFoodVarietyName(depot.getFoodVarietyName());
+                    pledgeReminders.setFoodPrice(foodPrice.getPrice());
+                    pledgeReminders.setStorageReal(pledgeReminders.getStorageReal()+depot.getStorageReal());
+
+                }else{
+                    pledgeReminders.setStorageReal(pledgeReminders.getStorageReal()+depot.getStorageReal());
+                }
+                remindersMap.put(key,pledgeReminders);
+//                PledgeReminders reminders = new PledgeReminders();
+//                reminders.setDepotId(depot.getId());
+//                reminders.setDepotName(depot.getName());
+//                reminders.setFoodVariety(depot.getFoodVariety());
+//                reminders.setFoodVarietyName(depot.getFoodVarietyName());
+//                reminders.setFoodPrice(foodPrice.getPrice());
+//                reminders.setStorageReal(depot.getStorageReal());
+//                remindersList.add(reminders);
                 log.info("-----褰撳墠鍚堝悓={}涓嬩粨搴�={}锛氬搴旂殑瀹為檯鍌ㄩ噺={}锛屽搴旂伯椋熷崟浠�={}-----", pledgeContract.getName(), depot.getName(), depot.getStorageReal(), foodPrice.getPrice());
             }
 
             per = sumMoney / backMoney;
 
-            if (per < 1.1) {
+            if (per > 1.1) {
+                //璐у彲浠ユ姷璐锋
                 log.error("-----褰撳墠鍚堝悓={}涓嬭川鎶间粨搴�={}搴撳瓨鏈埌寰呰繕娆剧殑110%锛宻umMoney={}锛宐ackMoney={}锛屼笉鐢熸垚杩樻鎻愰啋宸ュ崟-----", pledgeContract.getName(), pledgeContract.getDepotNames(), sumMoney, backMoney);
                 continue;
             }
+            //璐т笉瓒充互鎶佃捶娆� ,鎻愰啋浼佷笟琛ラ挶
 
             //鎵ц娴佺▼
             conf = workService.getConfByDeptId(pledgeContract.getPledgeDept(), WorkBizType.TYPE_50);
@@ -141,7 +159,7 @@
                 continue;
             }
 
-            BaseResp resp = workService.startByBackMoney(pledgeContract, conf,remindersList);
+            BaseResp resp = workService.startByBackMoney(pledgeContract, conf,remindersMap);
             log.info("---------褰撳墠鍚堝悓={}鍚姩杩樻鎻愰啋宸ュ崟娴佺▼------{}", pledgeContract.getName(), resp);
         }
     }
diff --git a/fzzy-igdss-core/src/main/java/com/fzzy/work/service/BizWorkService.java b/fzzy-igdss-core/src/main/java/com/fzzy/work/service/BizWorkService.java
index 77650d1..3b7df54 100644
--- a/fzzy-igdss-core/src/main/java/com/fzzy/work/service/BizWorkService.java
+++ b/fzzy-igdss-core/src/main/java/com/fzzy/work/service/BizWorkService.java
@@ -21,7 +21,7 @@
 import javax.annotation.Resource;
 import java.text.DecimalFormat;
 import java.util.Date;
-import java.util.List;
+import java.util.Map;
 
 /**
  * @Desc: 宸ュ崟涓氬姟鎺ュ彛
@@ -180,26 +180,33 @@
      * @param data 鍑哄叆搴撳伐鍗曟暟鎹�
      * @return 鍝嶅簲缁撴灉
      */
-    public BaseResp startByBackMoney(PledgeContract data, WorkOrderConf conf, List<PledgeReminders> remindersList) {
+    public BaseResp startByBackMoney(PledgeContract data, WorkOrderConf conf, Map<String,PledgeReminders> remindersMap) {
 
         if (null == conf) conf = confService.getByDeptId(data.getPledgeDept(), WorkBizType.TYPE_10);
 
         if (Constant.YN_N.equals(conf.getValTag())) return BaseResp.error("娴佺▼鏈惎鐢�");
+//        Double sumMoneyNum = 0.0;
+        DecimalFormat df = new DecimalFormat("0.00");
+        double backMoney = data.getContractAmount() - data.getRepaidAmount();
 
         //鍒涘缓宸ュ崟
-        StringBuilder description = new StringBuilder("褰撳墠鍚堝悓<" + data.getName() + ">涓�");
-        if (!remindersList.isEmpty()) {
-            Double sumMoneyNum = 0.0;
-            DecimalFormat df = new DecimalFormat("0.00");
+        StringBuilder description = new StringBuilder("鍚堝悓<" + data.getName() + ">璐锋浣欓锛�"+df.format(backMoney)+"鍏冿紝");
+        if (!remindersMap.isEmpty()){
 
-            for (PledgeReminders reminders : remindersList) {
-                description.append("锛屼粨搴�<").append(reminders.getDepotName()).append(">锛岃川鎶肩墿<").append(reminders.getFoodVarietyName()).append(">搴撳瓨閲忎负").append(df.format(reminders.getStorageReal())).append("kg锛屽崟浠�").append(reminders.getFoodPrice()).append("鍏冿紝");
-                sumMoneyNum += reminders.getStorageReal() * reminders.getFoodPrice();
+            for (PledgeReminders reminders : remindersMap.values()) {
+                description.append("褰撳墠<").append(reminders.getFoodVarietyName())
+                        .append(">鍗曚环锛�").append(reminders.getFoodPrice()).append("鍏�/KG锛�")
+                        .append("鍓╀綑<").append(reminders.getFoodVarietyName())
+                        .append(">搴撳瓨锛�").append(df.format(reminders.getStorageReal())).append("KG锛�");
+//                sumMoneyNum += reminders.getStorageReal() * reminders.getFoodPrice();
             }
-            description.append("搴撳瓨閲忔�婚噾棰濅负").append(df.format(sumMoneyNum)).append("鍏冿紝杈惧埌鍚堝悓寰呰繕娆鹃噾棰濈殑110%,璇锋彁閱掍紒涓氳繘娆捐繕娆�");
-        } else {
-            description.append("璐ㄦ娂浠撳簱<").append(data.getDepotNames()).append(">搴撳瓨閲忛噾棰濋珮浜庡緟杩樻閲戦锛岄渶瑕佽繘琛岃繕娆�");
+            description.append("鎶煎搧浠峰�尖墹璐锋浣欓鐨�110%锛岃灏藉揩鎻愰啋浼佷笟杩樻锛�");
+
+        }else{
+            description.append("璐ㄦ娂浠撳簱<").append(data.getDepotNames()).append(">鎶煎搧浠峰�尖墹璐锋浣欓鐨�110%锛岃灏藉揩鎻愰啋浼佷笟杩樻锛�");
+
         }
+
         WorkOrder work = new WorkOrder();
         work.setId(ContextUtil.generateOrderId("WARN"));
         work.setBizType(WorkBizType.TYPE_50.getCode());

--
Gitblit v1.9.3