From a54e249f9fedf3633825dd7a6846621df7b110b9 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期三, 18 十月 2023 12:00:55 +0800
Subject: [PATCH] 代码提交

---
 ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java |  208 ++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 187 insertions(+), 21 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 b7f39b1..6bf644f 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
@@ -1,21 +1,21 @@
 package com.ruoyi.quartz.task;
 
+import com.ruoyi.common.utils.bean.DtoConversionUtils;
 import com.ruoyi.project.domain.*;
 import com.ruoyi.project.domain.vo.DingTalkReqVo;
 import com.ruoyi.project.service.*;
-import com.ruoyi.project.service.impl.DingTalkServiceImpl;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Component;
 import com.ruoyi.common.utils.StringUtils;
 import org.springframework.util.CollectionUtils;
+import org.springframework.util.ObjectUtils;
 
-import java.lang.reflect.Array;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.locks.ReentrantLock;
 
 /**
  * 瀹氭椂浠诲姟璋冨害娴嬭瘯
@@ -29,6 +29,12 @@
     private DingTalkService dingTalkService;
 
     @Autowired
+    private IServiceReimbursementService serviceReimbursementService;
+
+    @Autowired
+    private IServiceTasknumService ServiceTasknumService;
+
+    @Autowired
     private IServiceReimbursementSharedService serviceReimbursementSharedService;
 
     @Autowired
@@ -37,12 +43,22 @@
     @Autowired
     private IServiceFunddetailSharedService serviceFunddetailSharedService;
 
+    @Autowired
+    private IServiceFunddetailService serviceFunddetailService;
+
+
+    @Autowired
+    private IServiceReimbursementdetailService serviceReimbursementdetailService;
+
+    @Autowired
+    private IServiceReimbursementdetailSharedService reimbursementdetailSharedService;
 
     @Autowired
     private IServiceFundService serviceFundService;
 
-    @Autowired
-    private IServiceReimbursementService serviceReimbursementService;
+//    @Autowired
+//    private IServiceReimbursementService serviceReimbursementService;
+
 
     @Autowired
     private IServiceFundflowService fundflowService;
@@ -59,11 +75,114 @@
         System.out.println("鎵ц鏃犲弬鏂规硶");
     }
 
+//    public void checkDBInfo() {
+//        ServiceFund serviceFund = new ServiceFund();
+//        serviceFund.setFlowlevel(3L);
+//        List<ServiceFund> serviceFunds = serviceFundService.queryList(serviceFund);
+//        for (ServiceFund serviceFund1 : serviceFunds) {
+//            ServiceFundShared serviceFundShared = new ServiceFundShared();
+//            serviceFundShared.setSerfunid(serviceFund1.getId());
+//            List<ServiceFundShared> serviceFundShareds = serviceFundSharedService.queryList(serviceFundShared);
+//            if (CollectionUtils.isEmpty(serviceFundShareds)) {
+//                ServiceFundShared serviceFundShared1 = DtoConversionUtils.sourceToTarget(serviceFund1, ServiceFundShared.class);
+//                serviceFundShared1.setSerfunid(serviceFund1.getId());
+//                serviceFundShared1.setId(null);
+//                serviceFundSharedService.save(serviceFundShared1);
+//            }
+//        }
+//        //FUND
+//        List<ServiceFunddetail> serviceFunddetailnew = new ArrayList<>();
+//        List<ServiceFunddetail> serviceFunddetails = serviceFunddetailService.queryList(new ServiceFunddetail());
+//        for (ServiceFunddetail serviceFunddetail : serviceFunddetails) {
+////            if (!ObjectUtils.isEmpty(serviceFunddetail.getAnnexfiles())) {
+////                serviceFunddetailnew.add(serviceFunddetail);
+////            } else {
+//            Long fundid = serviceFunddetail.getFundid();
+//            ServiceFund byId = serviceFundService.getById(fundid);
+//            if (!ObjectUtils.isEmpty(byId)) {
+//                if (byId.getFlowlevel() != null && byId.getFlowlevel() == 3) {
+//                    serviceFunddetailnew.add(serviceFunddetail);
+//                }
+////                }
+//            }
+//        }
+//        for (ServiceFunddetail serviceFunddetail1 : serviceFunddetailnew) {
+//            //闇�瑕佸厛鏌ヤ竴涓嬭繖涓搴旂殑fdid锛坰hared琛級鍦ㄨ鎯呭浠借〃鏄惁瀛樺湪
+//            ServiceFunddetailShared serviceFunddetailShared = new ServiceFunddetailShared();
+//            serviceFunddetailShared.setFdid(serviceFunddetail1.getId());
+//            List<ServiceFunddetailShared> serviceFunddetailShareds = serviceFunddetailSharedService.queryList(serviceFunddetailShared);
+//            if (CollectionUtils.isEmpty(serviceFunddetailShareds)) {
+//                serviceFundService.addFundSharedInfo(serviceFunddetail1.getFundid());
+//            }
+////            ServiceFunddetailShared serviceFunddetailShared = new ServiceFunddetailShared();
+////            serviceFunddetailShared.setFdid(serviceFunddetail1.getId());
+////            List<ServiceFunddetailShared> serviceFunddetailShareds = serviceFunddetailSharedService.queryList(serviceFunddetailShared);
+////            if (CollectionUtils.isEmpty(serviceFunddetailShareds)) {
+////                ServiceFunddetailShared serviceFunddetailShared1 = DtoConversionUtils.sourceToTarget(serviceFunddetail1, ServiceFunddetailShared.class);
+////                serviceFunddetailShared1.setId(null);
+////                ServiceFundShared serviceFundShared = new ServiceFundShared();
+////                serviceFundShared.setSerfunid(serviceFunddetail1.getFundid());
+////                List<ServiceFundShared> serviceFundShareds = serviceFundSharedService.queryList(serviceFundShared);
+////                serviceFunddetailShared1.setFundid(serviceFundShareds.get(0).getId());
+////                serviceFunddetailShared1.setFdid(serviceFunddetail1.getId());
+////                serviceFunddetailSharedService.save(serviceFunddetailShared1);
+////            }
+//        }
+//
+//
+//        //reimbursement
+//        List<ServiceReimbursementdetail> serviceReimbursementdetailsNew = new ArrayList<>();
+//        List<ServiceReimbursementdetail> serviceReimbursementdetails = serviceReimbursementdetailService.queryList(new ServiceReimbursementdetail());
+//        for (ServiceReimbursementdetail reimbursementdetail : serviceReimbursementdetails) {
+////            if (!ObjectUtils.isEmpty(reimbursementdetail.getAnnexfiles())) {
+////                serviceReimbursementdetailsNew.add(reimbursementdetail);
+////            } else {
+//            Long rbid = reimbursementdetail.getRbid();
+//            ServiceReimbursement byId = serviceReimbursementService.getById(rbid);
+//            if (!ObjectUtils.isEmpty(byId)) {
+//                if (byId.getFlowlevel() != null && byId.getFlowlevel() == 3) {
+//                    serviceReimbursementdetailsNew.add(reimbursementdetail);
+//                }
+////                }
+//            }
+//        }
+//        for (ServiceReimbursementdetail serviceReimbursementdetail : serviceReimbursementdetailsNew) {
+//            //闇�瑕佸厛鏌ヤ竴涓嬭繖涓搴旂殑rbid锛坰hared琛級鍦ㄨ鎯呭浠借〃鏄惁瀛樺湪
+//            ServiceReimbursementdetailShared serviceReimbursementdetailShared = new ServiceReimbursementdetailShared();
+//            serviceReimbursementdetailShared.setRdid(serviceReimbursementdetail.getId());
+//            List<ServiceReimbursementdetailShared> serviceReimbursementdetailShareds = reimbursementdetailSharedService.queryList(serviceReimbursementdetailShared);
+//            if (CollectionUtils.isEmpty(serviceReimbursementdetailShareds)) {
+//                serviceReimbursementService.addSharedData(serviceReimbursementdetail.getRbid());
+//            }
+//        }
+////            ServiceReimbursementdetailShared serviceReimbursementdetailShared = new ServiceReimbursementdetailShared();
+////            serviceReimbursementdetailShared.setRdid(serviceReimbursementdetail.getId());
+////            if (serviceReimbursementdetail.getRbid() == 872) {
+////                System.out.println("-------------------");
+////            }
+////            List<ServiceReimbursementdetailShared> serviceReimbursementdetailShareds = reimbursementdetailSharedService.queryList(serviceReimbursementdetailShared);
+////
+////            if (CollectionUtils.isEmpty(serviceReimbursementdetailShareds)) {
+////                ServiceReimbursementdetailShared reimbursementdetailShared = DtoConversionUtils.sourceToTarget(serviceReimbursementdetail, ServiceReimbursementdetailShared.class);
+////                reimbursementdetailShared.setId(null);
+////                ServiceReimbursementShared serviceReimbursementShared = new ServiceReimbursementShared();
+////                serviceReimbursementShared.setReimid(serviceReimbursementdetail.getRbid());
+////                List<ServiceReimbursementShared> serviceReimbursementShareds = serviceReimbursementSharedService.queryList(serviceReimbursementShared);
+////                if (!CollectionUtils.isEmpty(serviceReimbursementShareds) && !ObjectUtils.isEmpty(serviceReimbursementShareds.get(0))) {
+////                    reimbursementdetailShared.setRbid(serviceReimbursementShareds.get(0).getId());
+////                    reimbursementdetailShared.setRdid(serviceReimbursementdetail.getId());
+////                    reimbursementdetailSharedService.save(reimbursementdetailShared);
+////                }
+////            }
+////        }
+//
+//    }
+
     public void checkReportInfo() {
         //鏌ュ嚭鎵�鏈夎鍖婚櫌閫�鍥炵殑Fund鏁版嵁
         List<ServiceFundShared> serviceFundShareds = serviceFundSharedService.queryFundShareList();
         for (ServiceFundShared serviceFundShared : serviceFundShareds) {
-            if (StringUtils.isNotBlank(serviceFundShared.getOabdzt()) && serviceFundShared.getOabdzt().equals("宸叉挙閿�")) {
+                if (StringUtils.isNotBlank(serviceFundShared.getOabdzt()) && serviceFundShared.getOabdzt().equals("宸叉挙閿�")) {
                 //濡傛灉鏈夎储鍔¢┏鍥炰俊鎭鏄庢槸閫�鍥炵殑
                 String[] split = serviceFundShared.getCxrjyj().split("&");
                 String phone = serviceFundShared.getPhone();
@@ -74,7 +193,7 @@
                 serviceFund.setId(serviceFundShared.getSerfunid());
                 List<ServiceFund> serviceFunds = serviceFundService.queryList(serviceFund);
                 ServiceFund serviceFund1 = serviceFunds.get(0);
-                serviceFund1.setFlowlevel(100);
+                serviceFund1.setFlowlevel(100L);
                 serviceFund1.setDel_flag(0);
                 serviceFund1.setRecordstatus(-1);
                 serviceFund1.setBackflowlevel(199);
@@ -83,8 +202,10 @@
             } else {
                 //涓嶆槸閫�鍥炵殑鎿嶄綔
                 if (StringUtils.isNotBlank(serviceFundShared.getZffs()) && serviceFundShared.getSpjg() == 0) {
+                    String bh = myMethod();
                     //閽卞凡缁忓埌甯�,骞朵笖瀹℃壒缁撴灉涓�0锛岃鏄庡鎵圭粨鏉燂紝浣嗘暟鎹繕娌℃湁鍚屾鍒癴und琛ㄥ拰fundflow琛�;瀵筬und琛ㄥ拰fundflow琛ㄨ繘琛屾洿鏂帮紝骞跺皢0鏀规垚1
                     ServiceFund serviceFund = new ServiceFund();
+                    serviceFund.setBh(serviceFundShared.getBh());
                     serviceFund.setId(serviceFundShared.getSerfunid());
                     serviceFund.setZffs(serviceFundShared.getZffs());
                     if (StringUtils.isNotBlank(serviceFundShared.getPresident())) {
@@ -156,10 +277,10 @@
                     }
                     serviceFundflow.setFlowcontent(spname + "瀹℃壒閫氳繃");
                     serviceFundflow.setFlowconclusion(1);
-                    serviceFundflow.setFundtype(1);
+                    serviceFundflow.setFundtype(2);
                     // 999 閫氳繃
                     serviceFundflow.setFlowlevel(999);
-                    serviceFundflow.setApplytype(null);
+                    serviceFundflow.setApplytype(serviceFundShared.getApplytype());
                     serviceFundflow.setFundid(serviceFundShared.getSerfunid());
                     serviceFundShared.setSpjg(1);
                     fundflowService.save(serviceFundflow);
@@ -203,9 +324,9 @@
                             serviceFundflow.setCheckusername(serviceFundShared.getPresident().substring(0, serviceFundShared.getPresident().indexOf(" ")));
                             serviceFundflow.setFlowcontent(serviceFundShared.getPresident().substring(0, serviceFundShared.getPresident().indexOf(" ")) + "瀹℃壒閫氳繃");
                             serviceFundflow.setFlowconclusion(1);
-                            serviceFundflow.setFundtype(1);
+                            serviceFundflow.setFundtype(2);
                             serviceFundflow.setFlowlevel(999);
-                            serviceFundflow.setApplytype(null);
+                            serviceFundflow.setApplytype(serviceFundShared.getApplytype());
                             serviceFundflow.setFundid(serviceFundShared.getSerfunid());
                             serviceFundflow.setCheckTime(parse);
                             fundflowService.save(serviceFundflow);
@@ -234,9 +355,9 @@
                             serviceFundflow.setCheckusername(serviceFundShared.getFinvicepresident().substring(0, serviceFundShared.getFinvicepresident().indexOf(" ")));
                             serviceFundflow.setFlowcontent(serviceFundShared.getFinvicepresident().substring(0, serviceFundShared.getFinvicepresident().indexOf(" ")) + "瀹℃壒閫氳繃");
                             serviceFundflow.setFlowconclusion(1);
-                            serviceFundflow.setFundtype(1);
+                            serviceFundflow.setFundtype(2);
                             serviceFundflow.setFlowlevel(999);
-                            serviceFundflow.setApplytype(null);
+                            serviceFundflow.setApplytype(serviceFundShared.getApplytype());
                             serviceFundflow.setFundid(serviceFundShared.getSerfunid());
                             serviceFundflow.setCheckTime(parse);
                             fundflowService.save(serviceFundflow);
@@ -264,9 +385,9 @@
                             serviceFundflow.setCheckusername(serviceFundShared.getBusvicepresident().substring(0, serviceFundShared.getBusvicepresident().indexOf(" ")));
                             serviceFundflow.setFlowcontent(serviceFundShared.getBusvicepresident().substring(0, serviceFundShared.getBusvicepresident().indexOf(" ")) + "閫氳繃");
                             serviceFundflow.setFlowconclusion(1);
-                            serviceFundflow.setFundtype(1);
+                            serviceFundflow.setFundtype(2);
                             serviceFundflow.setFlowlevel(999);
-                            serviceFundflow.setApplytype(null);
+                            serviceFundflow.setApplytype(serviceFundShared.getApplytype());
                             serviceFundflow.setFundid(serviceFundShared.getSerfunid());
                             serviceFundflow.setCheckTime(parse);
                             fundflowService.save(serviceFundflow);
@@ -308,12 +429,13 @@
                 //涓嶆槸閫�鍥炵殑鎿嶄綔
 
                 if (StringUtils.isNotBlank(serviceReimbursementShared.getZffs()) && serviceReimbursementShared.getSpjg() == 0) {
-                    //閽卞凡缁忓埌甯�,骞朵笖瀹℃壒缁撴灉涓�0锛岃鏄庡鎵圭粨鏉燂紝浣嗘暟鎹繕娌℃湁鍚屾鍒癴und琛ㄥ拰fundflow琛�;瀵筬und琛ㄥ拰fundflow琛ㄨ繘琛屾洿鏂帮紝骞跺皢0鏀规垚1
+                    String bh = myMethod();
+                    //閽卞凡缁忓埌甯�,骞朵笖瀹℃壒缁撴灉涓�0(0涓哄鎵逛腑)锛岃鏄庡鎵圭粨鏉燂紝浣嗘暟鎹繕娌℃湁鍚屾鍒癴und琛ㄥ拰fundflow琛�;瀵筬und琛ㄥ拰fundflow琛ㄨ繘琛屾洿鏂帮紝骞跺皢0鏀规垚1锛�1瀹℃壒缁撴潫锛�
                     ServiceReimbursement serviceReimbursement = new ServiceReimbursement();
                     serviceReimbursement.setId(serviceReimbursementShared.getReimid());
                     serviceReimbursement.setZffs(serviceReimbursementShared.getZffs());
                     serviceReimbursement.setRiqi(serviceReimbursementShared.getRiqi());
-
+                    serviceReimbursement.setBh(serviceReimbursementShared.getBh());
                     if (StringUtils.isNotBlank(serviceReimbursementShared.getPresident())) {
                         serviceReimbursement.setPresident(serviceReimbursementShared.getPresident());
                     }
@@ -386,7 +508,7 @@
                     serviceFundflow.setFundtype(1);
                     // 999 閫氳繃
                     serviceFundflow.setFlowlevel(999);
-                    serviceFundflow.setApplytype(null);
+                    serviceFundflow.setApplytype("0");
                     serviceFundflow.setFundid(serviceReimbursementShared.getReimid());
 
                     serviceReimbursementShared.setSpjg(1);
@@ -431,7 +553,7 @@
                             serviceFundflow.setFlowconclusion(1);
                             serviceFundflow.setFundtype(1);
                             serviceFundflow.setFlowlevel(999);
-                            serviceFundflow.setApplytype(null);
+                            serviceFundflow.setApplytype("0");
                             serviceFundflow.setFundid(serviceReimbursementShared.getReimid());
                             serviceFundflow.setCheckTime(parse);
                             fundflowService.save(serviceFundflow);
@@ -462,7 +584,7 @@
                             serviceFundflow.setFlowconclusion(1);
                             serviceFundflow.setFundtype(1);
                             serviceFundflow.setFlowlevel(999);
-                            serviceFundflow.setApplytype(null);
+                            serviceFundflow.setApplytype("0");
                             serviceFundflow.setCheckTime(parse);
                             serviceFundflow.setFundid(serviceReimbursementShared.getReimid());
                             fundflowService.save(serviceFundflow);
@@ -492,7 +614,7 @@
                             serviceFundflow.setFlowconclusion(1);
                             serviceFundflow.setFundtype(1);
                             serviceFundflow.setFlowlevel(999);
-                            serviceFundflow.setApplytype(null);
+                            serviceFundflow.setApplytype("0");
                             serviceFundflow.setCheckTime(parse);
                             serviceFundflow.setFundid(serviceReimbursementShared.getReimid());
 
@@ -537,4 +659,48 @@
 //        dingTalkService.sendNotification(dingTalkReqVo);
     }
 
+    private ReentrantLock lock = new ReentrantLock();
+
+    public String myMethod() {
+        lock.lock();
+        String bh = null;
+        try {
+            // 浠g爜鍧�
+            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMM");
+            String format = simpleDateFormat.format(new Date());
+            ServiceTasknum serviceTasknum = new ServiceTasknum();
+            serviceTasknum.setYearmonth(format);
+            //CW  璐㈠姟
+            serviceTasknum.setApptype("CW");
+            List<ServiceTasknum> serviceTasknums = ServiceTasknumService.queryList(serviceTasknum);
+            long nums = 1;
+            if (CollectionUtils.isEmpty(serviceTasknums)) {
+                //杩涜鎻掑叆鎿嶄綔
+                serviceTasknum.setSerialnumber(nums);
+                ServiceTasknumService.save(serviceTasknum);
+                bh = serviceTasknum.getYearmonth() + "0" + nums;
+            } else {
+                //鑾峰彇鍞竴鍊肩殑鏈�澶у��
+                nums = serviceTasknums.stream().mapToLong(ServiceTasknum::getSerialnumber).max().getAsLong() + 1;
+
+                ServiceTasknum serviceTasknum1 = serviceTasknums.get(0);
+                serviceTasknum1.setSerialnumber(nums);
+                //瀵硅鏉℃暟鎹殑鍞竴鍊煎姞1
+                ServiceTasknumService.updateById(serviceTasknum1);
+                //灏嗙敓鎴愮殑缂栧彿杩斿洖
+                if (nums < 10) {
+                    bh = serviceTasknums.get(0).getYearmonth() + "0" + nums;
+                } else {
+                    bh = serviceTasknums.get(0).getYearmonth() + nums;
+                }
+            }
+        } catch (Exception e) {
+            log.error("鑾峰彇缂栧彿澶辫触浜唟}", e.getStackTrace());
+        } finally {
+            lock.unlock();
+        }
+        return bh;
+    }
+
+
 }

--
Gitblit v1.9.3