From 1574cc259ecec7217d210c58d2bbf7b44a106234 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期五, 12 九月 2025 20:48:31 +0800
Subject: [PATCH] 通过生日算年龄

---
 ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFundServiceImpl.java |   48 ++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 38 insertions(+), 10 deletions(-)

diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFundServiceImpl.java b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFundServiceImpl.java
index cbe5522..6ad96bb 100644
--- a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFundServiceImpl.java
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFundServiceImpl.java
@@ -177,7 +177,7 @@
             serviceFundSharedMapper.delfundsharedInfoById(null, serviceFund1.getId());
 
             //杩欎釜娑堟伅鍙戦�侊紝灏变笉鍦ㄨ繖鍋氫簡锛屽湪瀹℃壒璁板綍鐨勬帴鍙i噷鍋氾紙鍗虫棩蹇楁帴鍙o級
-            //sendMeg(serviceFund1.getApplytype(), sysUser.getPhonenumber());
+//            sendMeg(serviceFund1.getApplytype(), sysUser.getPhonenumber());
         }
 
         return true;
@@ -422,7 +422,7 @@
             SysUser user = loginUser.getUser();
             if (serviceFund.getFlowlevel() == Long.valueOf(serviceFundflowrules.get(0).getFlowlevel() - 1) && serviceFund.getBackflowlevel() == 100) {
                 log.info("璐㈠姟閫�鍥炲啀鎻愪氦锛屽嚭绾冲啀娆″鎵癸紝涔嬪悗鎻愪氦鍒拌储鍔�");
-//                serviceFund.setFinancechecher("瀹℃壒浜猴細" + user.getUserName() + " & 瀹℃壒鏃堕棿" + new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + " & 瀹℃壒缁撴灉锛氶�氳繃");
+//                serviceFund.setFinancechecher("瀹℃壒浜猴細" + user.getNickName() + " & 瀹℃壒鏃堕棿" + new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + " & 瀹℃壒缁撴灉锛氶�氳繃");
                 serviceFund.setFinancechecher(user.getNickName());
 
                 serviceFund.setFlowlevel(serviceFundflowrules.get(0).getTotallevel().longValue());
@@ -456,7 +456,7 @@
             List<Integer> roleIds = sysUserRoleMapper.getUserRoleByUserId(user.getUserId());
             if (roleIds != null && roleIds.contains(11)) {
                 //11涓鸿储鍔�
-//                serviceFund.setFinancechecher("瀹℃壒浜猴細" + user.getUserName() + " & 瀹℃壒鏃堕棿" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()) + " & 瀹℃壒缁撴灉锛氶�氳繃");
+//                serviceFund.setFinancechecher("瀹℃壒浜猴細" + user.getNickName() + " & 瀹℃壒鏃堕棿" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()) + " & 瀹℃壒缁撴灉锛氶�氳繃");
                 serviceFund.setFinancechecher(user.getNickName());
             }
 
@@ -469,7 +469,6 @@
                 FlowLevel = 0;
                 RecordStatus = -1;
                 log.info("serviceFund杩涙潵浜嗗悧锛燂紵锛燂紵锛燂紵 :{},{}", RecordStatus, FlowLevel);
-                System.out.println("serviceFund杩涙潵浜嗗悧锛燂紵锛燂紵锛燂紵");
             } else {
                 RecordStatus = (FlowLevel + 1) * 2 - 1;
                 FlowLevel = (FlowLevel - 1);
@@ -531,8 +530,6 @@
             }
         }
         System.out.println("serviceFund鐨勫�兼槸--------:" + serviceFund);
-        log.info("寮�濮嬫洿鏂扮殑鐨勫�兼槸--------");
-
         Boolean aBoolean1 = updateById(serviceFund);
         log.info("integer鏇存柊鐨勭殑鍊兼槸-------- :{}", aBoolean1);
         ServiceSystemmessage serviceSystemmessage = new ServiceSystemmessage();
@@ -750,6 +747,11 @@
 
 
     private Map<String, Object> getformmain_0831(ServiceFund serviceFund) {
+        ServiceFundflow serviceFundflow = new ServiceFundflow();
+        serviceFundflow.setFundid(serviceFund.getId());
+        serviceFundflow.setFundtype(2);
+        List<ServiceFundflow> serviceFundflows = serviceFundflowService.queryList(serviceFundflow);
+
         Map<String, Object> formmain_0831 = new HashMap<>();
         formmain_0831.put("鎹愮尞鑰呭鍚�", serviceFund.getDonorname());
         formmain_0831.put("鎶ラ攢浜哄憳", serviceFund.getUsername());
@@ -760,14 +762,14 @@
         formmain_0831.put("涓婁紶闄勪欢", null);
         formmain_0831.put("澶囨敞", null);
         formmain_0831.put("璐㈠姟瀹℃壒", null);
-        formmain_0831.put("璐㈠姟閮ㄨ礋璐d汉瀹℃壒", serviceFund.getFinancedirector());
-        formmain_0831.put("鍔炲叕瀹や富浠诲鎵�", serviceFund.getOfficedirector());
+        formmain_0831.put("璐㈠姟閮ㄨ礋璐d汉瀹℃壒", getLastApprovalInfo(serviceFundflows, serviceFund.getFinancedirector()));
+        formmain_0831.put("鍔炲叕瀹や富浠诲鎵�", getLastApprovalInfo(serviceFundflows, serviceFund.getOfficedirector()));
         formmain_0831.put("涓氬姟鍓櫌闀垮鎵�", serviceFund.getBusvicepresident());
         formmain_0831.put("璐㈠姟鍓櫌闀垮鎵�", serviceFund.getFinvicepresident());
         formmain_0831.put("涓績璐熻矗浜哄鎵�", serviceFund.getOpochecker());
         formmain_0831.put("鏀粯鏂瑰紡", serviceFund.getZffs());
-        formmain_0831.put("缁勯暱", serviceFund.getManagername());
-        formmain_0831.put("瀹℃壒浜哄憳", serviceFund.getFinancechecher());
+        formmain_0831.put("缁勯暱", getLastApprovalInfo(serviceFundflows, serviceFund.getManagername()));
+        formmain_0831.put("瀹℃壒浜哄憳", StringUtils.isEmpty(getLastApprovalInfo(serviceFundflows, serviceFund.getFinancechecher())) ? "闄堟厱鍗�" : getLastApprovalInfo(serviceFundflows, serviceFund.getFinancechecher()));
         formmain_0831.put("鏀粯鏃ユ湡", serviceFund.getRiqi());
         formmain_0831.put("璇嗗埆浜�-浣滃簾", null);
         formmain_0831.put("璐㈠姟瀹℃壒绛惧瓧", serviceFund.getFinancedirector());
@@ -793,6 +795,32 @@
         return formmain_0831;
     }
 
+
+    public String getLastApprovalInfo(List<ServiceFundflow> serviceFundflows, String managerName) {
+        log.info("---------------serviceFundflows鐨勫叆鍙備负锛歿},managerName鐨勫�间负锛歿}", serviceFundflows, managerName);
+        if (StringUtils.isEmpty(managerName)) return "";
+        if (CollectionUtils.isEmpty(serviceFundflows)) {
+            //濡傛灉鏄渶鍚庝竴涓汉瀹℃壒锛岃繖涓椂鍊欏彲鑳絝low閲岃繕娌℃湁鐢熸垚杩涘幓
+            SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+            return "瀹℃壒浜猴細" + managerName + " & 瀹℃壒鏃堕棿锛�" + sd.format(new Date()) + " & 瀹℃壒缁撴灉锛氶�氳繃";
+        }
+
+        Optional<ServiceFundflow> lastApproval = serviceFundflows.stream().filter(flow -> managerName.contains(flow.getCheckusername())).max(Comparator.comparing(ServiceFundflow::getCreateTime));
+
+        if (lastApproval.isPresent()) {
+            ServiceFundflow flow = lastApproval.get();
+            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+            if (flow.getCheckTime() == null) {
+                flow.setCheckTime(new Date());
+            }
+            String formattedTime = sdf.format(flow.getCheckTime());
+
+            return "瀹℃壒浜猴細" + managerName + " & 瀹℃壒鏃堕棿锛�" + formattedTime + " & 瀹℃壒缁撴灉锛氶�氳繃";
+        }
+
+        return "";
+    }
+
     @Override
     public Long getFundId(Long infoid) {
         return serviceFundMapper.getFundId(infoid);

--
Gitblit v1.9.3