From 0293e06edd011d6921ec2cc08392042f5765dfb8 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期四, 18 九月 2025 13:35:54 +0800
Subject: [PATCH] 日志修改

---
 ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceReimbursementServiceImpl.java |  107 ++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 73 insertions(+), 34 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 0cc543f..32a4c69 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
@@ -41,6 +41,7 @@
 import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.atomic.AtomicLong;
 
 /**
  * 鎶ラ攢鐢宠Service涓氬姟灞傚鐞�
@@ -358,7 +359,8 @@
                     log.info("鍑哄樊琛ヨ创琚� 璐㈠姟閫�鍥炲啀鎻愪氦锛屽嚭绾冲啀娆″鎵癸紝涔嬪悗鎻愪氦鍒拌储鍔�:{}", serviceReimbursement.getId());
                     //璇存槑鏄储鍔¢��鍥炲啀鎻愪氦鐨�.闇�瑕佸嚭绾冲啀鐪嬩竴閬嶏紝娌¢棶棰樹箣鍚庯紝寰�鍒嗕韩琛ㄩ噷鏂板
 //                    serviceReimbursementService.addSharedData(serviceReimbursement.getId());
-                    serviceReimbursement.setFinancechecher("瀹℃壒浜猴細" + user.getUserName() + " & 瀹℃壒鏃堕棿" + new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + " & 瀹℃壒缁撴灉锛氶�氳繃");
+//                    serviceReimbursement.setFinancechecher("瀹℃壒浜猴細" + user.getNickName() + " & 瀹℃壒鏃堕棿" + new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + " & 瀹℃壒缁撴灉锛氶�氳繃");
+                    serviceReimbursement.setFinancechecher(user.getNickName());
                     serviceReimbursement.setFlowlevel(serviceFundflowrules.get(0).getTotallevel().longValue());
                     serviceReimbursement.setRecordstatus(99);
                     serviceReimbursement.setUploadStates(1);
@@ -378,6 +380,7 @@
                     serviceFundflow.setCheckuserno(user.getUserName());
                     serviceFundflow.setCheckusername(user.getNickName());
                     serviceFundflow.setFundtype(1);
+                    serviceFundflow.setCheckTime(new Date());
                     serviceFundflow.setApplytype("0");
                     serviceFundflow.setFlowconclusion(CheckFlag);
                     serviceFundflow.setFlowcontent("閫氳繃");
@@ -393,7 +396,8 @@
                 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() + " & 瀹℃壒鏃堕棿" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()) + " & 瀹℃壒缁撴灉锛氶�氳繃");
+                    serviceReimbursement.setFinancechecher(user.getNickName());
                 }
 
             } else {
@@ -433,6 +437,7 @@
             serviceFundflow.setFundid(serviceReimbursement.getId());
             serviceFundflow.setCheckuserno(user.getUserName());
             serviceFundflow.setCheckusername(user.getNickName());
+            serviceFundflow.setCheckTime(new Date());
             serviceFundflow.setFundtype(1);
             serviceFundflow.setApplytype("0");
             serviceFundflow.setFlowconclusion(CheckFlag);
@@ -476,7 +481,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();
@@ -515,6 +522,30 @@
     }
 
 
+    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()) + " & 瀹℃壒缁撴灉锛氶�氳繃";
+        }
+        String mn = managerName.trim();
+        Optional<ServiceFundflow> lastApproval = serviceFundflows.stream().filter(flow -> flow.getCheckusername().contains(mn)).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 "鏈壘鍒板鎵硅褰�";
+    }
+
     public Boolean sendData(ServiceReimbursement serviceReimbursement) {
         // fund鍜宖unddetail鐨勬暟鎹幏鍙�
         addSharedData(serviceReimbursement.getId());
@@ -542,14 +573,13 @@
 
         // 涓昏〃瀛楁鏁版嵁
         Map<String, Object> data2 = new HashMap<>();
-        data2.put("formmain_1209", formmain_1209(serviceReimbursementSharedList.get(0)));
-
+        ServiceReimbursement sr = serviceReimbursementMapper.selectById(serviceReimbursement.getId());
+        data2.put("formmain_1209", formmain_1209(sr));
         // 鏄庣粏琛ㄥ瓧娈垫暟鎹紝涓庨檮浠剁殑澶勭悊
         Map<String, List<Map<String, Object>>> map1 = formson_1210(serviceReimbursementdetailShareds);
         data2.put("formson_1210", map1.get("formson_1210"));
         data2.put("thirdAttachments", map1.get("annexfilesList"));
         data2.put("formson_1211", formson_1211(serviceReimbursementpayeeShareds));
-
         data.put("data", data2);
         //妯℃澘缂栧彿锛岀敱鑷磋繙鏂规彁渚涳紝璇ュ弬鏁板喅瀹氬彂璧峰崗鍚岀郴缁熶腑鍝釜娴佺▼
         data.put("templateCode", "cyfbxd_rzhc_ceshi");
@@ -563,7 +593,6 @@
         data.put("subject", "");
         ServiceReimbursement serviceReimbursement1 = serviceReimbursementMapper.selectById(serviceReimbursement.getId());
         data.put("summaryId", serviceReimbursement1.getSummaryId() == null ? "" : serviceReimbursement1.getSummaryId());
-
         map.put("data", data);
         String strRes = null;
         if (!active.equals("druid")) {
@@ -571,7 +600,6 @@
             String token = getToken();
             JSONObject json1 = JSONObject.parseObject(token);
             token = json1.get("id").toString();
-
             ObjectMapper objectMapper = new ObjectMapper();
             String json = null;
             try {
@@ -607,9 +635,10 @@
         return true;
     }
 
+    private static final AtomicLong COUNTER = new AtomicLong(System.currentTimeMillis());
+
     private Map<String, List<Map<String, Object>>> formson_1210(List<ServiceReimbursementdetailShared> serviceReimbursementdetailSharedList) {
         Map<String, List<Map<String, Object>>> allMap = new HashMap<>();
-
         List<Map<String, Object>> list = new ArrayList<>();
         List<Map<String, Object>> annexfilesList = new ArrayList<>();
         for (ServiceReimbursementdetailShared reimbursementdetailShared : serviceReimbursementdetailSharedList) {
@@ -638,12 +667,12 @@
             map.put("浜哄憳绫诲埆", reimbursementdetailShared.getPersontype());
             map.put("浣忓璐规爣鍑�", "");
             map.put("浣忓璐规爣鍑嗗悎璁�", reimbursementdetailShared.getHotelexpense());
-            Long fpuuid = System.currentTimeMillis();
+            Long fpuuid = COUNTER.incrementAndGet();
             map.put("鍙戠エ闄勪欢", fpuuid);
             map.put("绁ㄦ嵁璇嗗埆", "");
             map.put("璇嗗埆浜�", "");
             map.put("搴忓彿1", "");
-            Long qtuuid = System.currentTimeMillis();
+            Long qtuuid = COUNTER.incrementAndGet();
             map.put("鍏朵粬闄勪欢", qtuuid);
             map.put("涓汉绁ㄥす鐢ㄦ埛", "");
             map.put("璇嗗埆绁ㄦ嵁", "");
@@ -708,43 +737,52 @@
         return list;
     }
 
-    private Map<String, Object> formmain_1209(ServiceReimbursementShared serviceReimbursementShared) {
+    private Map<String, Object> formmain_1209(ServiceReimbursement serviceReimbursement) {
+        ServiceFundflow serviceFundflow = new ServiceFundflow();
+        serviceFundflow.setFundid(serviceReimbursement.getId());
+        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("鎶ラ攢鏃ユ湡", new SimpleDateFormat("yyyy-MM-dd HH:mm").format(serviceReimbursement.getApplyTime()));
         formmain_1209.put("鍑哄樊浜�-浣滃簾", "");
-        formmain_1209.put("鎶ラ攢浜�", serviceReimbursementShared.getUsername());
-        formmain_1209.put("鍖哄煙缁勯暱", serviceReimbursementShared.getManagername());
-        formmain_1209.put("鍑哄樊浜嬬敱", serviceReimbursementShared.getReason());
+        formmain_1209.put("鎶ラ攢浜�", serviceReimbursement.getUsername());
+        formmain_1209.put("鍖哄煙缁勯暱", getLastApprovalInfo(serviceFundflows, serviceReimbursement.getManagername()));
+        formmain_1209.put("鍑哄樊浜嬬敱", serviceReimbursement.getReason());
         formmain_1209.put("澶╂暟鍚堣", 0.00);
-        formmain_1209.put("浜ら�氳垂鍚堣", serviceReimbursementShared.getTotalamount());
+        formmain_1209.put("浜ら�氳垂鍚堣", serviceReimbursement.getTotalamount());
         formmain_1209.put("甯傚唴浜ら�氬悎璁�", 0.00);
         formmain_1209.put("浣忓璐瑰悎璁�", 0.00);
         formmain_1209.put("鏉傝垂鍚堣", 0.00);
         formmain_1209.put("浼欓璐规姤閿�鍚堣", 0.00);
         formmain_1209.put("浼欓璐硅ˉ鍔╁悎璁�", 0.00);
         formmain_1209.put("鍏朵粬璐圭敤鍚堣", 0.00);
-        formmain_1209.put("棰嗘閲戦澶у啓", serviceReimbursementShared.getBigstrmoney());
-        formmain_1209.put("棰嗘閲戦", serviceReimbursementShared.getAmountrequested());
-        formmain_1209.put("璐㈠姟瀹℃壒", serviceReimbursementShared.getFinancechecher());
-        formmain_1209.put("璐㈠姟閮ㄨ礋璐d汉瀹℃壒", serviceReimbursementShared.getFinancedirector());
-        formmain_1209.put("鍔炲叕瀹や富浠诲鎵�", serviceReimbursementShared.getOfficedirector());
-        formmain_1209.put("澶囨敞", serviceReimbursementShared.getRemark());
-        formmain_1209.put("涓氬姟鍓櫌闀垮鎵�", serviceReimbursementShared.getBusvicepresident());
-        formmain_1209.put("璐㈠姟鍓櫌闀垮鎵�", serviceReimbursementShared.getFinvicepresident());
-        formmain_1209.put("涓績璐熻矗浜哄鎵�", serviceReimbursementShared.getOpochecker());
+        formmain_1209.put("棰嗘閲戦澶у啓", serviceReimbursement.getBigstrmoney());
+        formmain_1209.put("棰嗘閲戦", serviceReimbursement.getAmountrequested());
+        formmain_1209.put("璐㈠姟瀹℃壒", "");
+        formmain_1209.put("璐㈠姟閮ㄨ礋璐d汉瀹℃壒", getLastApprovalInfo(serviceFundflows, serviceReimbursement.getFinancedirector()));
+        if (serviceReimbursement.getBackflowlevel() == 3)
+            formmain_1209.put("鍔炲叕瀹や富浠诲鎵�", "瀹℃壒浜猴細鍛ㄨ偛鎴� & 瀹℃壒鏃堕棿锛�" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()) + " & 瀹℃壒缁撴灉锛氶�氳繃");
+        else formmain_1209.put("鍔炲叕瀹や富浠诲鎵�", getLastApprovalInfo(serviceFundflows, "鍛ㄨ偛鎴�"));
+
+        formmain_1209.put("澶囨敞", serviceReimbursement.getRemark());
+        formmain_1209.put("涓氬姟鍓櫌闀垮鎵�", serviceReimbursement.getBusvicepresident());
+        formmain_1209.put("璐㈠姟鍓櫌闀垮鎵�", serviceReimbursement.getFinvicepresident());
+        formmain_1209.put("涓績璐熻矗浜哄鎵�", serviceReimbursement.getOpochecker());
         formmain_1209.put("寮�鎴烽摱琛�-浣滃簾", "");
         formmain_1209.put("鍗″彿-浣滃簾", "");
-        formmain_1209.put("鏀粯鏂瑰紡", serviceReimbursementShared.getZffs());
-        formmain_1209.put("缁勯暱", "");
-        formmain_1209.put("瀹℃壒浜哄憳", "");
-        formmain_1209.put("鏀粯鏃ユ湡", serviceReimbursementShared.getRiqi());
+        formmain_1209.put("鏀粯鏂瑰紡", serviceReimbursement.getZffs());
+        formmain_1209.put("缁勯暱", getLastApprovalInfo(serviceFundflows, serviceReimbursement.getManagername()));
+        formmain_1209.put("瀹℃壒浜哄憳", getLastApprovalInfo(serviceFundflows, "闄堟厱鍗�"));
+        formmain_1209.put("鏀粯鏃ユ湡", serviceReimbursement.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, serviceReimbursement.getFinancedirector()));
         formmain_1209.put("琛ㄥ崟缂栧彿1", "");
         formmain_1209.put("CIF璐﹀閰嶇疆1", "");
         formmain_1209.put("闄㈠尯", "");
@@ -758,13 +796,13 @@
         formmain_1209.put("琛ㄥ崟闄勪欢", "");
         formmain_1209.put("10204", "");
         formmain_1209.put("鐜伴噾娴侀噺鍒嗘瀽", "");
-        formmain_1209.put("鎹愮尞鑰�", serviceReimbursementShared.getDonorname());
+        formmain_1209.put("鎹愮尞鑰�", serviceReimbursement.getDonorname());
         formmain_1209.put("鍑瘉绫诲埆", "");
         formmain_1209.put("鍚堣", 0.00);
         formmain_1209.put("瀹為檯鍚堣", 0.00);
         formmain_1209.put("浼欓琛ュ姪鍚堣", 0.00);
         formmain_1209.put("鍘嗗彶瀹℃壒璁板綍", "");
-        formmain_1209.put("琛ㄥ崟缂栧彿", serviceReimbursementShared.getReimid());
+        formmain_1209.put("琛ㄥ崟缂栧彿", serviceReimbursement.getId());
         formmain_1209.put("鍘嗗彶瀹℃壒宸ㄩ箍鏌ヨ", "");
         return formmain_1209;
     }
@@ -804,12 +842,13 @@
         Map<String, Object> map = new HashMap<String, Object>();
         map.put("userName", "opo");
         map.put("password", "4126407a-9821-4874-be41-6568abd6dbe5");
-        map.put("loginName", "demo");
+        map.put("loginName", "OPO绯荤粺");
 
         JSONObject jsonObj = new JSONObject(map);
 
         System.out.println("uploadOAFileAndUpdateDb + jsonObject" + jsonObj.toString() + "\r\n" + jsonObj.toJSONString());
         String strRes = HttpClientKit.postOpr(strUrl, jsonObj.toString());
+        log.info("-----------------strRes-----鐨勫�间负锛歿}", strRes);
         return strRes;
     }
 

--
Gitblit v1.9.3