From 68b49efb4da346edb42a5d8ebb39af47207402bd Mon Sep 17 00:00:00 2001
From: yxh <172933527@qq.com>
Date: 星期一, 12 十月 2026 11:14:13 +0800
Subject: [PATCH] 修改了报销校验

---
 ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java |  132 ++++++++++++++++++++++++++++++++++---------
 1 files changed, 103 insertions(+), 29 deletions(-)

diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java
index a4f3aaf..0c415fe 100644
--- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java
+++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java
@@ -2,6 +2,7 @@
 
 import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.utils.bean.DtoConversionUtils;
+import com.ruoyi.project.common.FundNotifyMessageBuilder;
 import com.ruoyi.project.domain.*;
 import com.ruoyi.project.domain.vo.DingTalkReqVo;
 import com.ruoyi.project.service.*;
@@ -17,6 +18,9 @@
 
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+import java.time.format.DateTimeParseException;
 import java.util.*;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.locks.ReentrantLock;
@@ -53,12 +57,15 @@
     @Autowired
     private ISysUserService sysUserService;
 
+    @Autowired
+    private IServiceSystemmessageService iServiceSystemmessageService;
+
 
     @Autowired
     private IServiceFundflowService fundflowService;
 
     public void ryMultipleParams(String s, Boolean b, Long l, Double d, Integer i) {
-        System.out.println(StringUtils.format("鎵ц澶氬弬鏂规硶锛� 瀛楃涓茬被鍨媨}锛屽竷灏旂被鍨媨}锛岄暱鏁村瀷{}锛屾诞鐐瑰瀷{}锛屾暣褰}", s, b, l, d, i));
+        System.out.println(StringUtils.format("鎵ц澶氬弬鏂规硶锛� 瀛楃涓茬被鍨媨}锛屽竷灏旂被鍨媨}锛岄暱鏁村瀷{}锛屾诞鐐瑰瀷{}锛屾暣褰}" , s, b, l, d, i));
     }
 
     public void ryParams(String params) {
@@ -81,9 +88,9 @@
                 }
                 String phone = serviceFundShared.getPhone();
                 //灏嗗垎浜噷鐨勮鏁版嵁鍒犻櫎
-                log.info("checkReportInfo涓叆鍙侷D涓猴細{}", serviceFundShared.getId());
+                log.info("checkReportInfo涓叆鍙侷D涓猴細{}" , serviceFundShared.getId());
                 Boolean aBoolean = serviceFundSharedService.delfundsharedInfoById(serviceFundShared.getId(), null);
-                log.info("fund鍒嗕韩琛ㄩ噷鐨勬暟鎹槸鍚﹀垹闄ゆ垚鍔燂細{}", aBoolean);
+                log.info("fund鍒嗕韩琛ㄩ噷鐨勬暟鎹槸鍚﹀垹闄ゆ垚鍔燂細{}" , aBoolean);
                 ServiceFund serviceFund = new ServiceFund();
                 serviceFund.setId(serviceFundShared.getSerfunid());
                 List<ServiceFund> serviceFunds = serviceFundService.queryInfoById(serviceFund);
@@ -95,7 +102,21 @@
                 serviceFundService.updateById(serviceFund1);
 
                 SysUser sysUser = sysUserService.selectUserByUserName(serviceFund1.getUserno());
-                sendMeg(split, sysUser.getPhonenumber(), serviceFundShared.getApplytype(), 2, serviceFundShared.getSerfunid());
+//                sendMeg(split, sysUser.getPhonenumber(), serviceFundShared.getApplytype(), 2, serviceFundShared.getSerfunid());
+                //鍙戦�佷俊鎭繚瀛�
+                ServiceSystemmessage serviceSystemmessage = new ServiceSystemmessage();
+                serviceSystemmessage.setFundtype(1);
+                serviceSystemmessage.setSenduserno(sysUser.getUserName());
+                serviceSystemmessage.setSendusername(sysUser.getNickName());
+                serviceSystemmessage.setReceiveuserno(serviceFund.getUserno());
+                serviceSystemmessage.setReceiveusername(serviceFund.getUsername());
+                serviceSystemmessage.setUpdateTime(new Date());
+                serviceSystemmessage.setUpdateBy(sysUser.getNickName());
+                serviceSystemmessage.setIsread(0);
+                serviceSystemmessage.setMessagetype(1);
+                serviceSystemmessage.setMessagetitle("璐㈠姟绯荤粺椹冲洖淇℃伅");
+                serviceSystemmessage.setMessagecontent(serviceFundShared.getCxrjyj());
+                iServiceSystemmessageService.save(serviceSystemmessage);
             } else {
                 //涓嶆槸閫�鍥炵殑鎿嶄綔
                 if (StringUtils.isNotBlank(serviceFundShared.getZffs()) && serviceFundShared.getSpjg() == 0) {
@@ -125,7 +146,7 @@
                     }
                     serviceFund.setRiqi(serviceFundShared.getRiqi());
                     boolean b = serviceFundService.updateById(serviceFund);
-                    log.info("鏇存柊serviceFund閲岀殑zffs琛ㄦ槸鍚︽垚鍔�: {}", b);
+                    log.info("鏇存柊serviceFund閲岀殑zffs琛ㄦ槸鍚︽垚鍔�: {}" , b);
                     ServiceFundflow serviceFundflow = new ServiceFundflow();
                     serviceFundflow.setCreateBy("admin");
                     serviceFundflow.setCreateTime(new Date());
@@ -303,14 +324,14 @@
             if (StringUtils.isNotBlank(serviceReimbursementShared.getOabdzt()) && serviceReimbursementShared.getOabdzt().equals("宸叉挙閿�")) {
                 String phone = serviceReimbursementShared.getPhone();
                 String[] split = null;
-                log.info("serviceReimbursementShared.getCxrjyj(): {}", serviceReimbursementShared.getCxrjyj());
+                log.info("serviceReimbursementShared.getCxrjyj(): {}" , serviceReimbursementShared.getCxrjyj());
                 if (StringUtils.isNotBlank(serviceReimbursementShared.getCxrjyj())) {
                     split = serviceReimbursementShared.getCxrjyj().split("&");
                 }
 
                 //灏嗗垎浜噷鐨勮鏁版嵁鍒犻櫎
                 Boolean aBoolean = serviceReimbursementSharedService.delResharedInfoById(serviceReimbursementShared.getId());
-                log.info("灏嗗垎浜噷鐨勮鏁版嵁鍒犻櫎: {}", aBoolean);
+                log.info("灏嗗垎浜噷鐨勮鏁版嵁鍒犻櫎: {}" , aBoolean);
                 //灏咶lowlevel 璁剧疆涓�0;
                 ServiceReimbursement serviceReimbursement = new ServiceReimbursement();
                 serviceReimbursement.setId(serviceReimbursementShared.getReimid());
@@ -324,7 +345,21 @@
                 serviceReimbursementService.updateById(serviceReimbursement1);
 
                 SysUser sysUser = sysUserService.selectUserByUserName(serviceReimbursement1.getUserno());
-                sendMeg(split, sysUser.getPhonenumber(), "0", 1, serviceReimbursementShared.getReimid());
+                //鍙戦�佷俊鎭繚瀛�
+//                sendMeg(split, sysUser.getPhonenumber(), "0" , 1, serviceReimbursementShared.getReimid());
+                ServiceSystemmessage serviceSystemmessage = new ServiceSystemmessage();
+                serviceSystemmessage.setFundtype(1);
+                serviceSystemmessage.setSenduserno(sysUser.getUserName());
+                serviceSystemmessage.setSendusername(sysUser.getNickName());
+                serviceSystemmessage.setReceiveuserno(serviceReimbursement1.getUserno());
+                serviceSystemmessage.setReceiveusername(serviceReimbursement1.getUsername());
+                serviceSystemmessage.setUpdateTime(new Date());
+                serviceSystemmessage.setUpdateBy(sysUser.getNickName());
+                serviceSystemmessage.setIsread(0);
+                serviceSystemmessage.setMessagetype(1);
+                serviceSystemmessage.setMessagetitle("璐㈠姟绯荤粺椹冲洖淇℃伅");
+                serviceSystemmessage.setMessagecontent(serviceReimbursementShared.getCxrjyj());
+                iServiceSystemmessageService.save(serviceSystemmessage);
             } else {
                 //涓嶆槸閫�鍥炵殑鎿嶄綔
 
@@ -355,7 +390,7 @@
                         serviceReimbursement.setFinancechecher(serviceReimbursementShared.getFinancechecher());
                     }
                     boolean b = serviceReimbursementService.updateById(serviceReimbursement);
-                    log.info("鏇存柊serviceReimbursement閲岀殑zffs琛ㄦ槸鍚︽垚鍔�: {}", b);
+                    log.info("鏇存柊serviceReimbursement閲岀殑zffs琛ㄦ槸鍚︽垚鍔�: {}" , b);
                     ServiceFundflow serviceFundflow = new ServiceFundflow();
                     serviceFundflow.setCreateBy("admin");
                     serviceFundflow.setCreateTime(new Date());
@@ -520,7 +555,6 @@
 
                             serviceFundflow.setCheckTime(parse);
                             fundflowService.save(serviceFundflow);
-
                         }
                         //濡傛灉宸茬粡鏇存柊鍒欎笉鍦ㄥ鐞�
                     }
@@ -530,15 +564,38 @@
     }
 
 
+    /**
+     * 璐㈠姟绯荤粺椹冲洖淇℃伅閽夐拤閫氱煡锛堝畾鏃朵换鍔$敤锛夈��
+     *
+     * @deprecated 2026-10-08 鏍稿疄锛氭湰鏂规硶**宸叉棤璋冪敤鏂�**锛堝師璋冪敤鐐瑰湪鏈被涓凡娉ㄩ噴锛夛紝
+     * 涓� {@code sys_job} 涓病鏈変换浣曚换鍔℃寚鍚戝畠锛屽睘浜庢浠g爜銆�
+     * 涓�"閽夐拤澶辫触琛ュ伩/閲嶈瘯"鏃犲叧锛岃鍕挎嵁姝よ涓哄瓨鍦ㄨˉ鍋挎満鍒躲�備繚鐣欎粎涓洪伩鍏嶈鍒犲巻鍙查�昏緫銆�
+     */
+    @Deprecated
     public void sendMeg(String[] split, String phone, String applyType, Integer fundType, Long fundId) throws ApiException {
+        String content = null;
+        String time = null;
+        String people = null;
+
+        if (split.length >= 1) {
+            people = split[0];
+        }
+        if (split.length >= 2) {
+            time = split[1];
+        }
+        if (split.length >= 3) {
+            content = split[2];
+        }
+
         //璁板綍鎿嶄綔璁板綍
         ServiceFundflow serviceFundflow = new ServiceFundflow();
-        serviceFundflow.setCreateBy(split[0]);
+
+        serviceFundflow.setCreateBy(people);
+        serviceFundflow.setUpdateBy(people);
+        serviceFundflow.setCheckusername(people);
         serviceFundflow.setCreateTime(new Date());
-        serviceFundflow.setUpdateBy(split[0]);
         serviceFundflow.setUpdateTime(new Date());
-        serviceFundflow.setCheckusername(split[0]);
-        serviceFundflow.setFlowcontent(split[2]);
+        serviceFundflow.setFlowcontent(content);
         serviceFundflow.setFlowconclusion(2);
         serviceFundflow.setFundtype(fundType);
         serviceFundflow.setFlowlevel(100);
@@ -548,15 +605,32 @@
 
         ArrayList<ConcurrentHashMap<String, Object>> contentList = new ArrayList<>();
         ConcurrentHashMap map = new ConcurrentHashMap();
-        map.put("瀹℃壒浜猴細", split[0]);
-        map.put("瀹℃壒鏃堕棿锛�", split[1]);
-        map.put("鎰忚锛�", split[2]);
+        map.put("瀹℃壒浜猴細" , people);
+        try {
+            boolean validDateTime = isValidDateTime(time);
+            if (validDateTime) map.put("瀹℃壒鏃堕棿锛�" , new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(time));
+            else map.put("瀹℃壒鏃堕棿锛�" , new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(time + ":00"));
+        } catch (ParseException e) {
+            e.printStackTrace();
+        }
+        map.put("鎰忚锛�" , content);
         contentList.add(map);
         DingTalkReqVo dingTalkReqVo = new DingTalkReqVo();
-        dingTalkReqVo.setTitle("璐㈠姟绯荤粺椹冲洖淇℃伅");
+        dingTalkReqVo.setTitle(FundNotifyMessageBuilder.TITLE);
         dingTalkReqVo.setNumber(phone);
         dingTalkReqVo.setContents(contentList);
+        log.info("閽夐拤鍙戦�佹秷鎭�:{}" , dingTalkReqVo);
         dingTalkService.sendNotification(dingTalkReqVo);
+    }
+
+    public boolean isValidDateTime(String dateTime) {
+        try {
+            DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+            LocalDateTime.parse(dateTime, formatter);
+            return true;
+        } catch (DateTimeParseException e) {
+            return false;
+        }
     }
 
     private ReentrantLock lock = new ReentrantLock();
@@ -595,7 +669,7 @@
                 }
             }
         } catch (Exception e) {
-            log.error("鑾峰彇缂栧彿澶辫触浜唟}", e.getStackTrace());
+            log.error("鑾峰彇缂栧彿澶辫触浜唟}" , e.getStackTrace());
         } finally {
             lock.unlock();
         }
@@ -611,7 +685,7 @@
         //澶勭悊宸梾鎶ラ攢
         serviceFundflowrule.setApplytype("0");
         List<ServiceFundflowrule> serviceFundflowrules = iServiceFundflowruleService.queryList(serviceFundflowrule);
-        log.info("宸梾鐨勬渶楂樼瓑绾�:{}", serviceFundflowrules.get(0).getTotallevel());
+        log.info("宸梾鐨勬渶楂樼瓑绾�:{}" , serviceFundflowrules.get(0).getTotallevel());
         ServiceReimbursement serviceReimbursement = new ServiceReimbursement();
         serviceReimbursement.setFlowlevel(serviceFundflowrules.get(0).getTotallevel().longValue());
         serviceReimbursement.setUploadStates(1);
@@ -619,14 +693,14 @@
         List<ServiceReimbursement> serviceReimbursementList = serviceReimbursementService.queryList(serviceReimbursement);
         for (ServiceReimbursement serviceReimbursement1 : serviceReimbursementList) {
             try {
-                log.info("鎻掑叆鍒嗕韩琛ㄧ殑ID涓猴細{}", serviceReimbursement1.getId());
+                log.info("鎻掑叆鍒嗕韩琛ㄧ殑ID涓猴細{}" , serviceReimbursement1.getId());
                 Boolean aBoolean = serviceReimbursementService.addSharedData(serviceReimbursement1.getId());
                 if (aBoolean) {
                     ServiceReimbursement serviceReimbursement3 = new ServiceReimbursement();
                     serviceReimbursement3.setId(serviceReimbursement1.getId());
                     serviceReimbursement3.setUploadStates(2);
                     boolean b = serviceReimbursementService.updateById(serviceReimbursement3);
-                    log.info("serviceReimbursement鏄惁鎻掑叆鎴愬姛{},{}", aBoolean, b);
+                    log.info("serviceReimbursement鏄惁鎻掑叆鎴愬姛{},{}" , aBoolean, b);
                 }
             } catch (Exception e) {
                 ServiceReimbursement serviceReimbursement2 = new ServiceReimbursement();
@@ -639,31 +713,31 @@
         //涓撳鍔冲姟璐圭敵璇�
         serviceFundflowrule.setApplytype("1");
         List<ServiceFundflowrule> serviceFundflowrules2 = iServiceFundflowruleService.queryList(serviceFundflowrule);
-        log.info("涓撳鍔冲姟鐨勬渶楂樼瓑绾�:{}", serviceFundflowrules2.get(0).getTotallevel());
+        log.info("涓撳鍔冲姟鐨勬渶楂樼瓑绾�:{}" , serviceFundflowrules2.get(0).getTotallevel());
         addFundShared(serviceFundflowrules2.get(0).getTotallevel().longValue(), "1");
 
         //浼︾悊涓撳鍔冲姟璐圭敵璇�
         serviceFundflowrule.setApplytype("2");
         List<ServiceFundflowrule> serviceFundflowrules3 = iServiceFundflowruleService.queryList(serviceFundflowrule);
-        log.info("浼︾悊涓撳鍔冲姟璐圭敵璇�:{}", serviceFundflowrules3.get(0).getTotallevel());
+        log.info("浼︾悊涓撳鍔冲姟璐圭敵璇�:{}" , serviceFundflowrules3.get(0).getTotallevel());
         addFundShared(serviceFundflowrules3.get(0).getTotallevel().longValue(), "2");
 
         //鍖诲鎴愭湰鎶ラ攢
         serviceFundflowrule.setApplytype("3");
         List<ServiceFundflowrule> serviceFundflowrules4 = iServiceFundflowruleService.queryList(serviceFundflowrule);
-        log.info("鍖诲鎴愭湰鎶ラ攢:{}", serviceFundflowrules4.get(0).getTotallevel());
+        log.info("鍖诲鎴愭湰鎶ラ攢:{}" , serviceFundflowrules4.get(0).getTotallevel());
         addFundShared(serviceFundflowrules4.get(0).getTotallevel().longValue(), "3");
 
         //鍔炲叕璐圭敤鎶ラ攢
         serviceFundflowrule.setApplytype("4");
         List<ServiceFundflowrule> serviceFundflowrules5 = iServiceFundflowruleService.queryList(serviceFundflowrule);
-        log.info("鍔炲叕璐圭敤鎶ラ攢:{}", serviceFundflowrules5.get(0).getTotallevel());
+        log.info("鍔炲叕璐圭敤鎶ラ攢:{}" , serviceFundflowrules5.get(0).getTotallevel());
         addFundShared(serviceFundflowrules5.get(0).getTotallevel().longValue(), "4");
 
         //缁╂晥瀹℃壒鎶ラ攢
         serviceFundflowrule.setApplytype("5");
         List<ServiceFundflowrule> serviceFundflowrules6 = iServiceFundflowruleService.queryList(serviceFundflowrule);
-        log.info("鍔炲叕璐圭敤鎶ラ攢:{}", serviceFundflowrules6.get(0).getTotallevel());
+        log.info("鍔炲叕璐圭敤鎶ラ攢:{}" , serviceFundflowrules6.get(0).getTotallevel());
         addFundShared(serviceFundflowrules6.get(0).getTotallevel().longValue(), "5");
 
     }
@@ -677,7 +751,7 @@
         List<ServiceFund> serviceFundList = serviceFundService.queryList(serviceFund);
         for (ServiceFund serviceFund1 : serviceFundList) {
             try {
-                log.info("鎻掑叆鍒嗕韩琛ㄧ殑FundID涓猴細{}", serviceFund1.getId());
+                log.info("鎻掑叆鍒嗕韩琛ㄧ殑FundID涓猴細{}" , serviceFund1.getId());
                 Boolean aBoolean = serviceFundService.addFundSharedInfo(serviceFund1.getId());
                 if (aBoolean) {
                     ServiceFund serviceFund2 = new ServiceFund();
@@ -685,7 +759,7 @@
                     serviceFund2.setUploadStates(2);
                     serviceFund2.setUpdateTime(new Date());
                     boolean b = serviceFundService.updateById(serviceFund2);
-                    log.info("serviceReimbursement鏄惁鎻掑叆鎴愬姛{},{}", aBoolean, b);
+                    log.info("serviceReimbursement鏄惁鎻掑叆鎴愬姛{},{}" , aBoolean, b);
                 }
             } catch (Exception e) {
                 e.printStackTrace();

--
Gitblit v1.9.3