From 5b6529bd37a7191b674a64c760dcb5f21ab534f1 Mon Sep 17 00:00:00 2001
From: sgj <1442489573@qq.com>
Date: 星期五, 20 三月 2026 16:42:59 +0800
Subject: [PATCH] 质押还款提醒逻辑调整

---
 fzzy-igdss-core/src/main/java/com/fzzy/igds/timer/JobWarnService.java   |   63 +++++++++++++++++--------------
 fzzy-igdss-core/src/main/java/com/fzzy/work/service/BizWorkService.java |    8 ++-
 2 files changed, 39 insertions(+), 32 deletions(-)

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 d8bdf0a..ffb228d 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
@@ -2,12 +2,15 @@
 
 import com.fzzy.igds.constant.Constant;
 import com.fzzy.igds.data.BaseResp;
+import com.fzzy.igds.data.IgdsBaseParam;
 import com.fzzy.igds.data.PledgeReminders;
 import com.fzzy.igds.domain.Depot;
 import com.fzzy.igds.domain.FoodPrice;
 import com.fzzy.igds.domain.PledgeContract;
+import com.fzzy.igds.domain.PledgeContractDepot;
 import com.fzzy.igds.service.DepotService;
 import com.fzzy.igds.service.FoodPriceService;
+import com.fzzy.igds.service.PledgeContractDepotService;
 import com.fzzy.igds.service.PledgeContractService;
 import com.fzzy.work.data.WorkBizType;
 import com.fzzy.work.domain.WorkOrderConf;
@@ -18,9 +21,7 @@
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 /**
  * @Description 璀﹀憡淇℃伅瀹氭椂缁熻锛氳繕娆炬彁閱�
@@ -33,6 +34,10 @@
 
     @Resource
     private PledgeContractService contractService;
+
+    @Resource
+    private PledgeContractDepotService pledgeContractDepotService;
+
     @Resource
     private DepotService depotService;
     @Resource
@@ -60,7 +65,7 @@
         }
         Depot depot;
         FoodPrice foodPrice;
-        WorkOrderConf conf;
+        WorkOrderConf conf = null;
 
         double sumMoney = 0.0;
         double per = 0.0;
@@ -69,8 +74,12 @@
             log.info("-----寮�濮嬪鐞嗚川鎶煎悎鍚岋細{}-----", pledgeContract.getName());
 //            List<PledgeReminders> remindersList = new ArrayList<>();
 
-            Map<String,PledgeReminders> remindersMap = new java.util.HashMap<>();
+            Map<String, PledgeReminders> remindersMap = new HashMap<>();
 
+            //鑾峰彇璐ㄦ娂浠撳簱淇℃伅
+            IgdsBaseParam igdsBaseParam = new IgdsBaseParam();
+            igdsBaseParam.setParentId(pledgeContract.getId());
+            List<PledgeContractDepot> pledgeContractDepots = pledgeContractDepotService.listAll(igdsBaseParam);
 
             //璁$畻寰呰繕娆鹃噾棰�
             backMoney = pledgeContract.getContractAmount() - pledgeContract.getRepaidAmount();
@@ -86,20 +95,18 @@
                 continue;
             }
 
-            if (StringUtils.isBlank(pledgeContract.getDepotIds())) {
+            if (pledgeContractDepots.isEmpty()) {
                 //鑻ヨ川鎶间粨搴撲负绌猴紝鍒欒烦杩囧綋鍓嶅悎鍚�
                 log.error("-----褰撳墠鍚堝悓={}娌℃湁璁剧疆璐ㄦ娂浠撳簱锛屼笉鎵ц鎻愰啋鏍哥畻-----", pledgeContract.getName());
                 continue;
             }
 
-            String[] depotIds = pledgeContract.getDepotIds().split(",");
-            if (depotIds.length < 1) {
-                //鑻ヨ川鎶间粨搴撲负绌猴紝鍒欒烦杩囧綋鍓嶅悎鍚�
-                log.error("-----褰撳墠鍚堝悓={}娌℃湁璁剧疆璐ㄦ娂浠撳簱锛屼笉鎵ц鎻愰啋鏍哥畻-----", pledgeContract.getName());
-                continue;
-            }
             sumMoney = 0.0;
-            for (String depotId : depotIds) {
+            //鑾峰彇璐ㄦ娂搴撳尯
+            List<String> deptIds = new ArrayList<>();
+            for (PledgeContractDepot pledgeContractDepot : pledgeContractDepots) {
+                String depotId = pledgeContractDepot.getPledgeDepot();
+                deptIds.add(pledgeContractDepot.getPledgeDept());
                 //鏌ヨ浠撳簱淇℃伅
                 depot = depotService.getCacheDepot(pledgeContract.getCompanyId(), depotId);
                 if (null == depot) {
@@ -118,27 +125,19 @@
 
                 sumMoney += depot.getStorageReal() * foodPrice.getPrice();
                 //鎸夊搧绉�+鍗曚环鐢熸垚key锛屾潵浣滀负鍞竴鏍囪瘑锛岀粺璁$伯椋熷搧绉嶇殑搴撳瓨閲忎互鍙婄伯椋熷搧绉嶄俊鎭�
-                String key=depot.getFoodVariety()+foodPrice.getPrice();
+                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());
+                    pledgeReminders.setStorageReal(pledgeReminders.getStorageReal() + depot.getStorageReal());
 
-                }else{
-                    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);
+                remindersMap.put(key, pledgeReminders);
                 log.info("-----褰撳墠鍚堝悓={}涓嬩粨搴�={}锛氬搴旂殑瀹為檯鍌ㄩ噺={}锛屽搴旂伯椋熷崟浠�={}-----", pledgeContract.getName(), depot.getName(), depot.getStorageReal(), foodPrice.getPrice());
             }
 
@@ -151,15 +150,21 @@
             }
             //璐т笉瓒充互鎶佃捶娆� ,鎻愰啋浼佷笟琛ラ挶
 
-            //鎵ц娴佺▼
-            conf = workService.getConfByDeptId(pledgeContract.getPledgeDept(), WorkBizType.TYPE_50);
+            //鏍规嵁璐ㄦ娂浠撳簱鐨勫簱鍖猴紝鎵惧埌鍏朵腑涓�涓簱鍖洪厤缃殑鎻愰啋宸ュ崟娴佺▼
+            for (String deptId : deptIds){
+                WorkOrderConf confByDeptId = workService.getConfByDeptId(deptId, WorkBizType.TYPE_50);
+                if(null!=confByDeptId && Constant.YN_Y.equals(confByDeptId.getValTag())){
+                    conf=confByDeptId;
+                    break;
+                }
+            }
             //娴佺▼涓嶅惎鐢�
             if (null == conf || Constant.YN_N.equals(conf.getValTag())) {
                 log.error("-----褰撳墠鍚堝悓={}璐ㄦ娂搴撳尯={}鏈厤缃繕娆炬彁閱掑鎵规祦绋嬶紝鏃犳硶鐢熸垚宸ュ崟鎻愰啋-----", pledgeContract.getName(), pledgeContract.getPledgeDept());
                 continue;
             }
 
-            BaseResp resp = workService.startByBackMoney(pledgeContract, conf,remindersMap);
+            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 3b7df54..574c055 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
@@ -175,14 +175,16 @@
 
     /**
      *
-     * 鏍规嵁鍑哄叆搴撻�氱煡鍗曞惎鍔ㄥ鎵瑰伐鍗�
+     * 鏍规嵁璐ㄦ娂鍚堝悓锛屽惎鍔ㄨ繕娆炬彁閱掑伐鍗�
      *
      * @param data 鍑哄叆搴撳伐鍗曟暟鎹�
      * @return 鍝嶅簲缁撴灉
      */
     public BaseResp startByBackMoney(PledgeContract data, WorkOrderConf conf, Map<String,PledgeReminders> remindersMap) {
 
-        if (null == conf) conf = confService.getByDeptId(data.getPledgeDept(), WorkBizType.TYPE_10);
+        if (null == conf) {
+            return BaseResp.error("鏈壘鍒板伐鍗曢厤缃�");
+        }
 
         if (Constant.YN_N.equals(conf.getValTag())) return BaseResp.error("娴佺▼鏈惎鐢�");
 //        Double sumMoneyNum = 0.0;
@@ -214,7 +216,7 @@
         work.setBankId(data.getPledgeBank());
         work.setBusinessUrl("com.fzzy.igds.PledgeContract-Detail.d");
         work.setCreateTime(new Date());
-        work.setDeptId(data.getPledgeDept());
+        work.setDeptId(conf.getDeptId());
         work.setCompanyId(data.getCompanyId());
         work.setUpdateTime(new Date());
         work.setTitle("璐ㄦ娂鍚堝悓杩樻鎻愰啋");

--
Gitblit v1.9.3