From 3165f71939bf0783787fbe19ac77063c23ec22bc Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期五, 12 九月 2025 15:01:55 +0800
Subject: [PATCH] 通过生日算年龄

---
 ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceReimbursementServiceImpl.java |   52 ++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 42 insertions(+), 10 deletions(-)

diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceReimbursementServiceImpl.java b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceReimbursementServiceImpl.java
index 61603f5..c8435be 100644
--- a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceReimbursementServiceImpl.java
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceReimbursementServiceImpl.java
@@ -359,8 +359,7 @@
                     log.info("鍑哄樊琛ヨ创琚� 璐㈠姟閫�鍥炲啀鎻愪氦锛屽嚭绾冲啀娆″鎵癸紝涔嬪悗鎻愪氦鍒拌储鍔�:{}", serviceReimbursement.getId());
                     //璇存槑鏄储鍔¢��鍥炲啀鎻愪氦鐨�.闇�瑕佸嚭绾冲啀鐪嬩竴閬嶏紝娌¢棶棰樹箣鍚庯紝寰�鍒嗕韩琛ㄩ噷鏂板
 //                    serviceReimbursementService.addSharedData(serviceReimbursement.getId());
-//                    serviceReimbursement.setFinancechecher("瀹℃壒浜猴細" + user.getUserName() + " & 瀹℃壒鏃堕棿" + new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + " & 瀹℃壒缁撴灉锛氶�氳繃");
-                    serviceReimbursement.setFinancechecher(user.getNickName());
+                    serviceReimbursement.setFinancechecher("瀹℃壒浜猴細" + user.getNickName() + " & 瀹℃壒鏃堕棿" + new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + " & 瀹℃壒缁撴灉锛氶�氳繃");
                     serviceReimbursement.setFlowlevel(serviceFundflowrules.get(0).getTotallevel().longValue());
                     serviceReimbursement.setRecordstatus(99);
                     serviceReimbursement.setUploadStates(1);
@@ -395,8 +394,7 @@
                 List<Integer> roleIds = sysUserRoleMapper.getUserRoleByUserId(user.getUserId());
                 if (roleIds != null && roleIds.contains(11)) {
                     //11涓鸿储鍔�
-//                    serviceReimbursement.setFinancechecher("瀹℃壒浜猴細" + user.getUserName() + " & 瀹℃壒鏃堕棿" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()) + " & 瀹℃壒缁撴灉锛氶�氳繃");
-                    serviceReimbursement.setFinancechecher(user.getNickName());
+                    serviceReimbursement.setFinancechecher("瀹℃壒浜猴細" + user.getNickName() + " & 瀹℃壒鏃堕棿" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()) + " & 瀹℃壒缁撴灉锛氶�氳繃");
                 }
 
             } else {
@@ -479,7 +477,9 @@
                     }
                 }
             }
-
+//            if (StringUtils.isNotEmpty(serviceReimbursement.getManagername()) && serviceReimbursement.getManagername().equals(loginUser.getUser().getNickName())) {
+//                serviceReimbursement.setManagername("瀹℃壒浜猴細" + serviceReimbursement.getManagername() + " & 瀹℃壒鏃堕棿" + new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + " & 瀹℃壒缁撴灉锛氶�氳繃");
+//            }
             updateById(serviceReimbursement);
 
             ServiceSystemmessage serviceSystemmessage = new ServiceSystemmessage();
@@ -517,6 +517,32 @@
         return allMap;
     }
 
+
+    public String getLastApprovalInfo(List<ServiceFundflow> serviceFundflows, String managerName) {
+        if (StringUtils.isEmpty(managerName)) return null;
+        if (org.springframework.util.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 -> flow.getCheckusername().contains(managerName))
+                .max(Comparator.comparing(ServiceFundflow::getCheckTime));
+
+        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 "鏈壘鍒板鎵硅褰�";
+    }
 
     public Boolean sendData(ServiceReimbursement serviceReimbursement) {
         // fund鍜宖unddetail鐨勬暟鎹幏鍙�
@@ -713,12 +739,18 @@
     }
 
     private Map<String, Object> formmain_1209(ServiceReimbursementShared serviceReimbursementShared) {
+        ServiceFundflow serviceFundflow = new ServiceFundflow();
+        serviceFundflow.setFundid(serviceReimbursementShared.getReimid());
+        serviceFundflow.setFundtype(1);
+        List<ServiceFundflow> serviceFundflows = serviceFundflowService.queryList(serviceFundflow);
+
+
         Map<String, Object> formmain_1209 = new HashMap<>();
 
         formmain_1209.put("鎶ラ攢鏃ユ湡", new SimpleDateFormat("yyyy-MM-dd HH:mm").format(serviceReimbursementShared.getApplyTime()));
         formmain_1209.put("鍑哄樊浜�-浣滃簾", "");
         formmain_1209.put("鎶ラ攢浜�", serviceReimbursementShared.getUsername());
-        formmain_1209.put("鍖哄煙缁勯暱", serviceReimbursementShared.getManagername());
+        formmain_1209.put("鍖哄煙缁勯暱", getLastApprovalInfo(serviceFundflows, serviceReimbursementShared.getManagername()));
         formmain_1209.put("鍑哄樊浜嬬敱", serviceReimbursementShared.getReason());
         formmain_1209.put("澶╂暟鍚堣", 0.00);
         formmain_1209.put("浜ら�氳垂鍚堣", serviceReimbursementShared.getTotalamount());
@@ -731,8 +763,8 @@
         formmain_1209.put("棰嗘閲戦澶у啓", serviceReimbursementShared.getBigstrmoney());
         formmain_1209.put("棰嗘閲戦", serviceReimbursementShared.getAmountrequested());
         formmain_1209.put("璐㈠姟瀹℃壒", "");
-        formmain_1209.put("璐㈠姟閮ㄨ礋璐d汉瀹℃壒", serviceReimbursementShared.getFinancedirector());
-        formmain_1209.put("鍔炲叕瀹や富浠诲鎵�", serviceReimbursementShared.getOfficedirector());
+        formmain_1209.put("璐㈠姟閮ㄨ礋璐d汉瀹℃壒", getLastApprovalInfo(serviceFundflows, serviceReimbursementShared.getFinancedirector()));
+        formmain_1209.put("鍔炲叕瀹や富浠诲鎵�", getLastApprovalInfo(serviceFundflows, serviceReimbursementShared.getOfficedirector()));
         formmain_1209.put("澶囨敞", serviceReimbursementShared.getRemark());
         formmain_1209.put("涓氬姟鍓櫌闀垮鎵�", serviceReimbursementShared.getBusvicepresident());
         formmain_1209.put("璐㈠姟鍓櫌闀垮鎵�", serviceReimbursementShared.getFinvicepresident());
@@ -741,14 +773,14 @@
         formmain_1209.put("鍗″彿-浣滃簾", "");
         formmain_1209.put("鏀粯鏂瑰紡", serviceReimbursementShared.getZffs());
         formmain_1209.put("缁勯暱", serviceReimbursementShared.getManagername());
-        formmain_1209.put("瀹℃壒浜哄憳", serviceReimbursementShared.getFinancechecher());
+        formmain_1209.put("瀹℃壒浜哄憳", getLastApprovalInfo(serviceFundflows, serviceReimbursementShared.getFinancechecher()));
         formmain_1209.put("鏀粯鏃ユ湡", serviceReimbursementShared.getRiqi());
         formmain_1209.put("涓婁紶闄勪欢", "");
         formmain_1209.put("鎵撴鍚堣", 0.00);
         formmain_1209.put("鍙戠エ璇嗗埆-浣滃簾", "");
         formmain_1209.put("璇嗗埆浜�-浣滃簾", "");
         formmain_1209.put("璐㈠姟瀹℃壒绛惧瓧", "");
-        formmain_1209.put("璐㈠姟閮ㄨ礋璐d汉瀹℃壒绛惧瓧", serviceReimbursementShared.getFinancedirector());
+        formmain_1209.put("璐㈠姟閮ㄨ礋璐d汉瀹℃壒绛惧瓧", getLastApprovalInfo(serviceFundflows, serviceReimbursementShared.getFinancedirector()));
         formmain_1209.put("琛ㄥ崟缂栧彿1", "");
         formmain_1209.put("CIF璐﹀閰嶇疆1", "");
         formmain_1209.put("闄㈠尯", "");

--
Gitblit v1.9.3