From c20c99f256e2f47bd45f0b48fb6b1bcc83960f1e Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期四, 21 三月 2024 14:22:13 +0800
Subject: [PATCH] 代码提交

---
 ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java |  652 +++++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 611 insertions(+), 41 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 04e949f..68ffcff 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,17 +1,25 @@
 package com.ruoyi.quartz.task;
 
+import com.ruoyi.common.core.domain.entity.SysUser;
+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 com.ruoyi.system.mapper.SysUserMapper;
+import com.ruoyi.system.service.ISysUserService;
+import com.taobao.api.ApiException;
+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;
 
 /**
  * 瀹氭椂浠诲姟璋冨害娴嬭瘯
@@ -19,9 +27,16 @@
  * @author ruoyi
  */
 @Component("ryTask")
+@Slf4j
 public class RyTask {
     @Autowired
     private DingTalkService dingTalkService;
+
+    @Autowired
+    private IServiceReimbursementService serviceReimbursementService;
+
+    @Autowired
+    private IServiceTasknumService ServiceTasknumService;
 
     @Autowired
     private IServiceReimbursementSharedService serviceReimbursementSharedService;
@@ -29,12 +44,15 @@
     @Autowired
     private IServiceFundSharedService serviceFundSharedService;
 
+    @Autowired
+    private IServiceFundflowruleService iServiceFundflowruleService;
 
     @Autowired
     private IServiceFundService serviceFundService;
 
     @Autowired
-    private IServiceReimbursementService serviceReimbursementService;
+    private ISysUserService sysUserService;
+
 
     @Autowired
     private IServiceFundflowService fundflowService;
@@ -51,57 +69,472 @@
         System.out.println("鎵ц鏃犲弬鏂规硶");
     }
 
-    public void checkReportInfo() {
+    public void checkReportInfo() throws ApiException {
         //鏌ュ嚭鎵�鏈夎鍖婚櫌閫�鍥炵殑Fund鏁版嵁
         List<ServiceFundShared> serviceFundShareds = serviceFundSharedService.queryFundShareList();
         for (ServiceFundShared serviceFundShared : serviceFundShareds) {
-            String[] split = serviceFundShared.getCxrjyj().split("&");
-            String phone = serviceFundShared.getPhone();
-            //灏嗗垎浜噷鐨勮鏁版嵁鍒犻櫎
-            serviceFundSharedService.delfundsharedInfoById(serviceFundShared.getId());
+            if (StringUtils.isNotBlank(serviceFundShared.getOabdzt()) && serviceFundShared.getOabdzt().equals("宸叉挙閿�")) {
+                //濡傛灉鏈夎储鍔¢┏鍥炰俊鎭鏄庢槸閫�鍥炵殑
+                String[] split = null;
+                if (StringUtils.isNotEmpty(serviceFundShared.getCxrjyj())) {
+                    split = serviceFundShared.getCxrjyj().split("&");
+                }
+                String phone = serviceFundShared.getPhone();
+                //灏嗗垎浜噷鐨勮鏁版嵁鍒犻櫎
+                serviceFundSharedService.delfundsharedInfoById(serviceFundShared.getId());
 
-            ServiceFund serviceFund = new ServiceFund();
-            serviceFund.setId(serviceFundShared.getSerfunid());
-            List<ServiceFund> serviceFunds = serviceFundService.queryList(serviceFund);
-            ServiceFund serviceFund1 = serviceFunds.get(0);
-            serviceFund1.setFlowlevel(0);
-            serviceFund1.setDel_flag(0);
-            serviceFund1.setBackflowlevel(199);
-            serviceFundService.updateById(serviceFund1);
-            sendMeg(split, phone,serviceFundShared.getApplytype(),2,serviceFundShared.getSerfunid());
+                ServiceFund serviceFund = new ServiceFund();
+                serviceFund.setId(serviceFundShared.getSerfunid());
+                List<ServiceFund> serviceFunds = serviceFundService.queryInfoById(serviceFund);
+                ServiceFund serviceFund1 = serviceFunds.get(0);
+                serviceFund1.setFlowlevel(100L);
+                serviceFund1.setDel_flag(0);
+                serviceFund1.setRecordstatus(-1);
+                serviceFund1.setBackflowlevel(199);
+                serviceFundService.updateById(serviceFund1);
+
+                SysUser sysUser = sysUserService.selectUserByUserName(serviceFund1.getUserno());
+                sendMeg(split, sysUser.getPhonenumber(), serviceFundShared.getApplytype(), 2, serviceFundShared.getSerfunid());
+            } 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())) {
+                        serviceFund.setPresident(serviceFundShared.getPresident());
+                    }
+                    if (StringUtils.isNotBlank(serviceFundShared.getFinvicepresident())) {
+                        serviceFund.setFinvicepresident(serviceFundShared.getFinvicepresident());
+                    }
+                    if (StringUtils.isNotBlank(serviceFundShared.getBusvicepresident())) {
+                        serviceFund.setBusvicepresident(serviceFundShared.getBusvicepresident());
+                    }
+                    if (StringUtils.isNotBlank(serviceFundShared.getOfficedirector())) {
+                        serviceFund.setOfficedirector(serviceFundShared.getOfficedirector());
+                    }
+                    if (StringUtils.isNotBlank(serviceFundShared.getFinancedirector())) {
+                        serviceFund.setFinancedirector(serviceFundShared.getFinancedirector());
+                    }
+                    if (StringUtils.isNotBlank(serviceFundShared.getFinancechecher())) {
+                        serviceFund.setFinancechecher(serviceFundShared.getFinancechecher());
+                    }
+                    serviceFund.setRiqi(serviceFundShared.getRiqi());
+                    boolean b = serviceFundService.updateById(serviceFund);
+                    log.info("鏇存柊serviceFund閲岀殑zffs琛ㄦ槸鍚︽垚鍔�: {}", b);
+                    ServiceFundflow serviceFundflow = new ServiceFundflow();
+                    serviceFundflow.setCreateBy("admin");
+                    serviceFundflow.setCreateTime(new Date());
+                    serviceFundflow.setUpdateBy("admin");
+                    serviceFundflow.setUpdateTime(new Date());
+                    //鐢ㄤ笁涓鎵逛汉锛屽鏋滈兘涓虹┖锛屽氨涓虹┖
+                    String spname = "";
+                    if (StringUtils.isNotBlank(serviceFundShared.getPresident())) {
+                        serviceFundflow.setCheckusername(serviceFundShared.getPresident().substring(0, serviceFundShared.getPresident().indexOf(" ")));
+                        //鏇存柊鏍¢獙鏃堕棿
+                        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm");
+                        Date parse = new Date();
+                        try {
+                            parse = simpleDateFormat.parse(serviceFundShared.getPresident().substring(serviceFundShared.getPresident().indexOf(" ") + 1, serviceFundShared.getPresident().length()));
+                        } catch (ParseException e) {
+                            e.printStackTrace();
+                        }
+                        serviceFundflow.setCheckTime(parse);
+                        spname = spname + serviceFundShared.getPresident() + "  ";
+                    }
+                    if (StringUtils.isNotBlank(serviceFundShared.getFinvicepresident())) {
+                        serviceFundflow.setCheckusername(serviceFundShared.getFinvicepresident().substring(0, serviceFundShared.getFinvicepresident().indexOf(" ")));
+                        //鏇存柊鏍¢獙鏃堕棿
+                        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm");
+                        Date parse = new Date();
+                        try {
+                            parse = simpleDateFormat.parse(serviceFundShared.getFinvicepresident().substring(serviceFundShared.getFinvicepresident().indexOf(" ") + 1, serviceFundShared.getFinvicepresident().length()));
+                        } catch (ParseException e) {
+                            e.printStackTrace();
+                        }
+                        serviceFundflow.setCheckTime(parse);
+                        spname = spname + serviceFundShared.getFinvicepresident() + "  ";
+                    }
+                    if (StringUtils.isNotBlank(serviceFundShared.getBusvicepresident())) {
+                        serviceFundflow.setCheckusername(serviceFundShared.getBusvicepresident().substring(0, serviceFundShared.getBusvicepresident().indexOf(" ")));
+                        //鏇存柊鏍¢獙鏃堕棿
+                        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm");
+                        Date parse = new Date();
+                        try {
+                            parse = simpleDateFormat.parse(serviceFundShared.getBusvicepresident().substring(serviceFundShared.getBusvicepresident().indexOf(" ") + 1, serviceFundShared.getBusvicepresident().length()));
+                        } catch (ParseException e) {
+                            e.printStackTrace();
+                        }
+                        serviceFundflow.setCheckTime(parse);
+                        spname = spname + serviceFundShared.getBusvicepresident() + "  ";
+                    }
+                    serviceFundflow.setFlowcontent(spname + "瀹℃壒閫氳繃");
+                    serviceFundflow.setFlowconclusion(1);
+                    serviceFundflow.setFundtype(2);
+                    // 999 閫氳繃
+                    serviceFundflow.setFlowlevel(999);
+                    serviceFundflow.setApplytype(serviceFundShared.getApplytype());
+                    serviceFundflow.setFundid(serviceFundShared.getSerfunid());
+                    serviceFundShared.setSpjg(1);
+                    fundflowService.save(serviceFundflow);
+
+                    serviceFundflow.setFlowcontent("宸蹭粯娆� : " + serviceFundShared.getZffs());
+                    serviceFundflow.setId(null);
+                    fundflowService.save(serviceFundflow);
+                    //灏嗗鎵圭姸鎬佹敼鎴�1
+                    serviceFundSharedService.updateById(serviceFundShared);
+
+                } else if (StringUtils.isNotBlank(serviceFundShared.getZffs()) && serviceFundShared.getSpjg() == 1) {
+                    //閽卞凡缁忓埌甯�,骞朵笖瀹℃壒缁撴灉涓�1锛屽鎵圭粨鏉�,灏变笉绠¢偅浜涢瀵兼槸鍚︾瀛椾簡
+                    continue;
+                }
+
+                ServiceFund serviceFund = new ServiceFund();
+                serviceFund.setId(serviceFundShared.getSerfunid());
+                List<ServiceFund> serviceFunds = serviceFundService.queryList(serviceFund);
+                if (!CollectionUtils.isEmpty(serviceFunds)) {
+                    SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm");
+                    Date parse = new Date();
+
+
+                    if (StringUtils.isNotBlank(serviceFundShared.getPresident())) {
+                        //鍏堟煡璇竴涓媐und鏄惁宸茬粡鏇存柊President锛屽鏋滄病鏈夋洿鏂帮紝鍒欒繘琛屾洿鏂帮紝骞跺線fundflow琛ㄩ噷鎻掍竴鏉℃暟鎹�
+                        if (StringUtils.isEmpty(serviceFunds.get(0).getPresident())) {
+                            try {
+                                parse = simpleDateFormat.parse(serviceFundShared.getPresident().substring(serviceFundShared.getPresident().indexOf(" ") + 1, serviceFundShared.getPresident().length()));
+                            } catch (ParseException e) {
+                                e.printStackTrace();
+                            }
+                            serviceFund.setPresident(serviceFundShared.getPresident());
+                            serviceFundService.updateById(serviceFund);
+
+                            //灏嗘搷浣滀繚瀛樺埌fundflow琛ㄤ腑
+                            ServiceFundflow serviceFundflow = new ServiceFundflow();
+                            serviceFundflow.setCreateBy("admin");
+                            serviceFundflow.setCreateTime(new Date());
+                            serviceFundflow.setUpdateBy("admin");
+                            serviceFundflow.setUpdateTime(new Date());
+                            serviceFundflow.setCheckusername(serviceFundShared.getPresident().substring(0, serviceFundShared.getPresident().indexOf(" ")));
+                            serviceFundflow.setFlowcontent(serviceFundShared.getPresident().substring(0, serviceFundShared.getPresident().indexOf(" ")) + "瀹℃壒閫氳繃");
+                            serviceFundflow.setFlowconclusion(1);
+                            serviceFundflow.setFundtype(2);
+                            serviceFundflow.setFlowlevel(999);
+                            serviceFundflow.setApplytype(serviceFundShared.getApplytype());
+                            serviceFundflow.setFundid(serviceFundShared.getSerfunid());
+                            serviceFundflow.setCheckTime(parse);
+                            fundflowService.save(serviceFundflow);
+
+                        }
+                        //濡傛灉宸茬粡鏇存柊鍒欎笉鍦ㄥ鐞�
+
+                    }
+                    if (StringUtils.isNotBlank(serviceFundShared.getFinvicepresident())) {
+                        try {
+                            parse = simpleDateFormat.parse(serviceFundShared.getFinvicepresident().substring(serviceFundShared.getFinvicepresident().indexOf(" ") + 1, serviceFundShared.getFinvicepresident().length()));
+                        } catch (ParseException e) {
+                            e.printStackTrace();
+                        }
+                        //鍏堟煡璇竴涓媐und鏄惁宸茬粡鏇存柊Finvicepresident锛屽鏋滄病鏈夋洿鏂帮紝鍒欒繘琛屾洿鏂帮紝骞跺線fundflow琛ㄩ噷鎻掍竴鏉℃暟鎹�
+                        if (StringUtils.isEmpty(serviceFunds.get(0).getFinvicepresident())) {
+                            serviceFund.setFinvicepresident(serviceFundShared.getFinvicepresident());
+                            serviceFundService.updateById(serviceFund);
+
+                            //灏嗘搷浣滀繚瀛樺埌fundflow琛ㄤ腑
+                            ServiceFundflow serviceFundflow = new ServiceFundflow();
+                            serviceFundflow.setCreateBy("admin");
+                            serviceFundflow.setCreateTime(new Date());
+                            serviceFundflow.setUpdateBy("admin");
+                            serviceFundflow.setUpdateTime(new Date());
+                            serviceFundflow.setCheckusername(serviceFundShared.getFinvicepresident().substring(0, serviceFundShared.getFinvicepresident().indexOf(" ")));
+                            serviceFundflow.setFlowcontent(serviceFundShared.getFinvicepresident().substring(0, serviceFundShared.getFinvicepresident().indexOf(" ")) + "瀹℃壒閫氳繃");
+                            serviceFundflow.setFlowconclusion(1);
+                            serviceFundflow.setFundtype(2);
+                            serviceFundflow.setFlowlevel(999);
+                            serviceFundflow.setApplytype(serviceFundShared.getApplytype());
+                            serviceFundflow.setFundid(serviceFundShared.getSerfunid());
+                            serviceFundflow.setCheckTime(parse);
+                            fundflowService.save(serviceFundflow);
+
+                        }
+                        //濡傛灉宸茬粡鏇存柊鍒欎笉鍦ㄥ鐞�
+                    }
+                    if (StringUtils.isNotBlank(serviceFundShared.getBusvicepresident())) {
+                        try {
+                            parse = simpleDateFormat.parse(serviceFundShared.getBusvicepresident().substring(serviceFundShared.getBusvicepresident().indexOf(" ") + 1, serviceFundShared.getBusvicepresident().length()));
+                        } catch (ParseException e) {
+                            e.printStackTrace();
+                        }
+                        //鍏堟煡璇竴涓媐und鏄惁宸茬粡鏇存柊Busvicepresident锛屽鏋滄病鏈夋洿鏂帮紝鍒欒繘琛屾洿鏂帮紝骞跺線fundflow琛ㄩ噷鎻掍竴鏉℃暟鎹�
+                        if (StringUtils.isEmpty(serviceFunds.get(0).getBusvicepresident())) {
+                            serviceFund.setBusvicepresident(serviceFundShared.getBusvicepresident());
+                            serviceFundService.updateById(serviceFund);
+
+                            //灏嗘搷浣滀繚瀛樺埌fundflow琛ㄤ腑
+                            ServiceFundflow serviceFundflow = new ServiceFundflow();
+                            serviceFundflow.setCreateBy("admin");
+                            serviceFundflow.setCreateTime(new Date());
+                            serviceFundflow.setUpdateBy("admin");
+                            serviceFundflow.setUpdateTime(new Date());
+                            serviceFundflow.setCheckusername(serviceFundShared.getBusvicepresident().substring(0, serviceFundShared.getBusvicepresident().indexOf(" ")));
+                            serviceFundflow.setFlowcontent(serviceFundShared.getBusvicepresident().substring(0, serviceFundShared.getBusvicepresident().indexOf(" ")) + "閫氳繃");
+                            serviceFundflow.setFlowconclusion(1);
+                            serviceFundflow.setFundtype(2);
+                            serviceFundflow.setFlowlevel(999);
+                            serviceFundflow.setApplytype(serviceFundShared.getApplytype());
+                            serviceFundflow.setFundid(serviceFundShared.getSerfunid());
+                            serviceFundflow.setCheckTime(parse);
+                            fundflowService.save(serviceFundflow);
+
+                        }
+                        //濡傛灉宸茬粡鏇存柊鍒欎笉鍦ㄥ鐞�
+                    }
+                }
+            }
         }
 
 
         //鏌ュ嚭鎵�鏈夎鍖婚櫌閫�鍥炵殑Reimbursement鏁版嵁
         List<ServiceReimbursementShared> serviceReimbursementShareds = serviceReimbursementSharedService.queryReShareList();
         for (ServiceReimbursementShared serviceReimbursementShared : serviceReimbursementShareds) {
-            String phone = serviceReimbursementShared.getPhone();
-            String[] split = serviceReimbursementShared.getCxrjyj().split("&");
+            if (StringUtils.isNotBlank(serviceReimbursementShared.getOabdzt()) && serviceReimbursementShared.getOabdzt().equals("宸叉挙閿�")) {
+                String phone = serviceReimbursementShared.getPhone();
+                String[] split = null;
+                log.info("serviceReimbursementShared.getCxrjyj(): {}", serviceReimbursementShared.getCxrjyj());
+                if (StringUtils.isNotBlank(serviceReimbursementShared.getCxrjyj())) {
+                    split = serviceReimbursementShared.getCxrjyj().split("&");
+                }
 
-            //灏嗗垎浜噷鐨勮鏁版嵁鍒犻櫎
-            serviceReimbursementSharedService.delResharedInfoById(serviceReimbursementShared.getId());
+                //灏嗗垎浜噷鐨勮鏁版嵁鍒犻櫎
+                serviceReimbursementSharedService.delResharedInfoById(serviceReimbursementShared.getId());
 
-            //灏咶lowlevel 璁剧疆涓�0;
-            ServiceReimbursement serviceReimbursement = new ServiceReimbursement();
-            serviceReimbursement.setId(serviceReimbursementShared.getReimid());
-            List<ServiceReimbursement> serviceReimbursementList = serviceReimbursementService.queryList(serviceReimbursement);
-            ServiceReimbursement serviceReimbursement1 = serviceReimbursementList.get(0);
-            serviceReimbursement1.setFlowlevel(0L);
-            serviceReimbursement1.setDelFlag(0);
-            serviceReimbursement1.setBackflowlevel(199L);
-            serviceReimbursementService.updateById(serviceReimbursement1);
-            sendMeg(split, phone, "0", 1, serviceReimbursementShared.getReimid());
+                //灏咶lowlevel 璁剧疆涓�0;
+                ServiceReimbursement serviceReimbursement = new ServiceReimbursement();
+                serviceReimbursement.setId(serviceReimbursementShared.getReimid());
+                List<ServiceReimbursement> serviceReimbursementList = serviceReimbursementService.queryList(serviceReimbursement);
+                ServiceReimbursement serviceReimbursement1 = serviceReimbursementList.get(0);
+                serviceReimbursement1.setFlowlevel(100L);
+                serviceReimbursement1.setDelFlag(0);
+                serviceReimbursement1.setUploadStates(0);
+                serviceReimbursement1.setBackflowlevel(199L);
+                serviceReimbursement1.setRecordstatus(-1);
+                serviceReimbursementService.updateById(serviceReimbursement1);
 
+                SysUser sysUser = sysUserService.selectUserByUserName(serviceReimbursement1.getUserno());
+                sendMeg(split, sysUser.getPhonenumber(), "0", 1, serviceReimbursementShared.getReimid());
+            } else {
+                //涓嶆槸閫�鍥炵殑鎿嶄綔
+
+                if (StringUtils.isNotBlank(serviceReimbursementShared.getZffs()) && serviceReimbursementShared.getSpjg() == 0) {
+                    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());
+                    }
+                    if (StringUtils.isNotBlank(serviceReimbursementShared.getFinvicepresident())) {
+                        serviceReimbursement.setFinvicepresident(serviceReimbursementShared.getFinvicepresident());
+                    }
+                    if (StringUtils.isNotBlank(serviceReimbursementShared.getBusvicepresident())) {
+                        serviceReimbursement.setBusvicepresident(serviceReimbursementShared.getBusvicepresident());
+                    }
+                    if (StringUtils.isNotBlank(serviceReimbursementShared.getOfficedirector())) {
+                        serviceReimbursement.setOfficedirector(serviceReimbursementShared.getOfficedirector());
+                    }
+                    if (StringUtils.isNotBlank(serviceReimbursementShared.getFinancedirector())) {
+                        serviceReimbursement.setFinancedirector(serviceReimbursementShared.getFinancedirector());
+                    }
+                    if (StringUtils.isNotBlank(serviceReimbursementShared.getFinancechecher())) {
+                        serviceReimbursement.setFinancechecher(serviceReimbursementShared.getFinancechecher());
+                    }
+                    boolean b = serviceReimbursementService.updateById(serviceReimbursement);
+                    log.info("鏇存柊serviceReimbursement閲岀殑zffs琛ㄦ槸鍚︽垚鍔�: {}", b);
+                    ServiceFundflow serviceFundflow = new ServiceFundflow();
+                    serviceFundflow.setCreateBy("admin");
+                    serviceFundflow.setCreateTime(new Date());
+                    serviceFundflow.setUpdateBy("admin");
+                    serviceFundflow.setUpdateTime(new Date());
+                    //鐢ㄤ笁涓鎵逛汉锛屽鏋滈兘涓虹┖锛屽氨涓虹┖
+                    String spName = "";
+
+                    if (StringUtils.isNotBlank(serviceReimbursementShared.getPresident())) {
+                        serviceFundflow.setCheckusername(serviceReimbursementShared.getPresident().substring(0, serviceReimbursementShared.getPresident().indexOf(" ")));
+                        //鏇存柊鏍¢獙鏃堕棿
+                        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm");
+                        Date parse = new Date();
+                        try {
+                            parse = simpleDateFormat.parse(serviceReimbursementShared.getPresident().substring(serviceReimbursementShared.getPresident().indexOf(" ") + 1, serviceReimbursementShared.getPresident().length()));
+                        } catch (ParseException e) {
+                            e.printStackTrace();
+                        }
+                        serviceFundflow.setCheckTime(parse);
+                        spName = spName + serviceReimbursementShared.getPresident() + "  ";
+                    }
+                    if (StringUtils.isNotBlank(serviceReimbursementShared.getFinvicepresident())) {
+                        serviceFundflow.setCheckusername(serviceReimbursementShared.getFinvicepresident().substring(0, serviceReimbursementShared.getFinvicepresident().indexOf(" ")));
+                        //鏇存柊鏍¢獙鏃堕棿
+                        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm");
+                        Date parse = new Date();
+                        try {
+                            parse = simpleDateFormat.parse(serviceReimbursementShared.getFinvicepresident().substring(serviceReimbursementShared.getFinvicepresident().indexOf(" ") + 1, serviceReimbursementShared.getFinvicepresident().length()));
+                        } catch (ParseException e) {
+                            e.printStackTrace();
+                        }
+                        serviceFundflow.setCheckTime(parse);
+                        spName = spName + serviceReimbursementShared.getFinvicepresident() + "  ";
+                    }
+                    if (StringUtils.isNotBlank(serviceReimbursementShared.getBusvicepresident())) {
+                        serviceFundflow.setCheckusername(serviceReimbursementShared.getBusvicepresident().substring(0, serviceReimbursementShared.getBusvicepresident().indexOf(" ")));
+                        //鏇存柊鏍¢獙鏃堕棿
+                        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm");
+                        Date parse = new Date();
+                        try {
+                            parse = simpleDateFormat.parse(serviceReimbursementShared.getBusvicepresident().substring(serviceReimbursementShared.getBusvicepresident().indexOf(" ") + 1, serviceReimbursementShared.getBusvicepresident().length()));
+                        } catch (ParseException e) {
+                            e.printStackTrace();
+                        }
+                        serviceFundflow.setCheckTime(parse);
+                        spName = spName + serviceReimbursementShared.getBusvicepresident() + "  ";
+                    }
+                    serviceFundflow.setFlowcontent(spName + "瀹℃壒閫氳繃");
+                    serviceFundflow.setFlowconclusion(1);
+                    serviceFundflow.setFundtype(1);
+                    // 999 閫氳繃
+                    serviceFundflow.setFlowlevel(999);
+                    serviceFundflow.setApplytype("0");
+                    serviceFundflow.setFundid(serviceReimbursementShared.getReimid());
+
+                    serviceReimbursementShared.setSpjg(1);
+                    fundflowService.save(serviceFundflow);
+                    serviceFundflow.setFlowcontent("宸蹭粯娆� : " + serviceReimbursementShared.getZffs());
+                    serviceFundflow.setId(null);
+                    fundflowService.save(serviceFundflow);
+                    serviceReimbursementSharedService.updateById(serviceReimbursementShared);
+
+                } else if (StringUtils.isNotBlank(serviceReimbursementShared.getZffs()) && serviceReimbursementShared.getSpjg().equals("1")) {
+                    //閽卞凡缁忓埌甯�,骞朵笖瀹℃壒缁撴灉涓�1锛屽鎵圭粨鏉�,灏变笉绠¢偅浜涢瀵兼槸鍚︾瀛椾簡
+                    continue;
+                }
+
+                ServiceReimbursement reimbursement = new ServiceReimbursement();
+                reimbursement.setId(serviceReimbursementShared.getReimid());
+                List<ServiceReimbursement> serviceReimbursementList = serviceReimbursementService.queryList(reimbursement);
+                if (!CollectionUtils.isEmpty(serviceReimbursementList)) {
+                    SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm");
+                    Date parse = new Date();
+
+                    if (StringUtils.isNotBlank(serviceReimbursementShared.getPresident())) {
+                        try {
+                            parse = simpleDateFormat.parse(serviceReimbursementShared.getPresident().substring(serviceReimbursementShared.getPresident().indexOf(" ") + 1, serviceReimbursementShared.getPresident().length()));
+                        } catch (ParseException e) {
+                            e.printStackTrace();
+                        }
+                        //鍏堟煡璇竴涓媐und鏄惁宸茬粡鏇存柊President锛屽鏋滄病鏈夋洿鏂帮紝鍒欒繘琛屾洿鏂帮紝骞跺線fundflow琛ㄩ噷鎻掍竴鏉℃暟鎹�
+                        if (StringUtils.isEmpty(serviceReimbursementList.get(0).getPresident())) {
+                            reimbursement.setPresident(serviceReimbursementShared.getPresident());
+
+                            serviceReimbursementService.updateById(reimbursement);
+
+                            //灏嗘搷浣滀繚瀛樺埌fundflow琛ㄤ腑
+                            ServiceFundflow serviceFundflow = new ServiceFundflow();
+                            serviceFundflow.setCreateBy("admin");
+                            serviceFundflow.setCreateTime(new Date());
+                            serviceFundflow.setUpdateBy("admin");
+                            serviceFundflow.setUpdateTime(new Date());
+                            serviceFundflow.setCheckusername(serviceReimbursementShared.getPresident().substring(0, serviceReimbursementShared.getPresident().indexOf(" ")));
+                            serviceFundflow.setFlowcontent(serviceReimbursementShared.getPresident().substring(0, serviceReimbursementShared.getPresident().indexOf(" ")) + "瀹℃壒閫氳繃");
+                            serviceFundflow.setFlowconclusion(1);
+                            serviceFundflow.setFundtype(1);
+                            serviceFundflow.setFlowlevel(999);
+                            serviceFundflow.setApplytype("0");
+                            serviceFundflow.setFundid(serviceReimbursementShared.getReimid());
+                            serviceFundflow.setCheckTime(parse);
+                            fundflowService.save(serviceFundflow);
+
+                        }
+                        //濡傛灉宸茬粡鏇存柊鍒欎笉鍦ㄥ鐞�
+
+                    }
+                    if (StringUtils.isNotBlank(serviceReimbursementShared.getFinvicepresident())) {
+                        try {
+                            parse = simpleDateFormat.parse(serviceReimbursementShared.getFinvicepresident().substring(serviceReimbursementShared.getFinvicepresident().indexOf(" ") + 1, serviceReimbursementShared.getFinvicepresident().length()));
+                        } catch (ParseException e) {
+                            e.printStackTrace();
+                        }
+                        //鍏堟煡璇竴涓媐und鏄惁宸茬粡鏇存柊Finvicepresident锛屽鏋滄病鏈夋洿鏂帮紝鍒欒繘琛屾洿鏂帮紝骞跺線fundflow琛ㄩ噷鎻掍竴鏉℃暟鎹�
+                        if (StringUtils.isEmpty(serviceReimbursementList.get(0).getFinvicepresident())) {
+                            reimbursement.setFinvicepresident(serviceReimbursementShared.getFinvicepresident());
+                            serviceReimbursementService.updateById(reimbursement);
+
+                            //灏嗘搷浣滀繚瀛樺埌fundflow琛ㄤ腑
+                            ServiceFundflow serviceFundflow = new ServiceFundflow();
+                            serviceFundflow.setCreateBy("admin");
+                            serviceFundflow.setCreateTime(new Date());
+                            serviceFundflow.setUpdateBy("admin");
+                            serviceFundflow.setUpdateTime(new Date());
+                            serviceFundflow.setCheckusername(serviceReimbursementShared.getFinvicepresident().substring(0, serviceReimbursementShared.getFinvicepresident().indexOf(" ")));
+                            serviceFundflow.setFlowcontent(serviceReimbursementShared.getFinvicepresident().substring(0, serviceReimbursementShared.getFinvicepresident().indexOf(" ")) + "瀹℃壒閫氳繃");
+                            serviceFundflow.setFlowconclusion(1);
+                            serviceFundflow.setFundtype(1);
+                            serviceFundflow.setFlowlevel(999);
+                            serviceFundflow.setApplytype("0");
+                            serviceFundflow.setCheckTime(parse);
+                            serviceFundflow.setFundid(serviceReimbursementShared.getReimid());
+                            fundflowService.save(serviceFundflow);
+
+                        }
+                        //濡傛灉宸茬粡鏇存柊鍒欎笉鍦ㄥ鐞�
+                    }
+                    if (StringUtils.isNotBlank(serviceReimbursementShared.getBusvicepresident())) {
+                        try {
+                            parse = simpleDateFormat.parse(serviceReimbursementShared.getBusvicepresident().substring(serviceReimbursementShared.getBusvicepresident().indexOf(" ") + 1, serviceReimbursementShared.getBusvicepresident().length()));
+                        } catch (ParseException e) {
+                            e.printStackTrace();
+                        }
+                        //鍏堟煡璇竴涓媐und鏄惁宸茬粡鏇存柊Busvicepresident锛屽鏋滄病鏈夋洿鏂帮紝鍒欒繘琛屾洿鏂帮紝骞跺線fundflow琛ㄩ噷鎻掍竴鏉℃暟鎹�
+                        if (StringUtils.isEmpty(serviceReimbursementList.get(0).getBusvicepresident())) {
+                            reimbursement.setBusvicepresident(serviceReimbursementShared.getBusvicepresident());
+                            serviceReimbursementService.updateById(reimbursement);
+
+                            //灏嗘搷浣滀繚瀛樺埌fundflow琛ㄤ腑
+                            ServiceFundflow serviceFundflow = new ServiceFundflow();
+                            serviceFundflow.setCreateBy("admin");
+                            serviceFundflow.setCreateTime(new Date());
+                            serviceFundflow.setUpdateBy("admin");
+                            serviceFundflow.setUpdateTime(new Date());
+                            serviceFundflow.setCheckusername(serviceReimbursementShared.getBusvicepresident().substring(0, serviceReimbursementShared.getBusvicepresident().indexOf(" ")));
+                            serviceFundflow.setFlowcontent(serviceReimbursementShared.getBusvicepresident().substring(0, serviceReimbursementShared.getBusvicepresident().indexOf(" ")) + "瀹℃壒閫氳繃");
+                            serviceFundflow.setFlowconclusion(1);
+                            serviceFundflow.setFundtype(1);
+                            serviceFundflow.setFlowlevel(999);
+                            serviceFundflow.setApplytype("0");
+                            serviceFundflow.setCheckTime(parse);
+                            serviceFundflow.setFundid(serviceReimbursementShared.getReimid());
+
+                            serviceFundflow.setCheckTime(parse);
+                            fundflowService.save(serviceFundflow);
+
+                        }
+                        //濡傛灉宸茬粡鏇存柊鍒欎笉鍦ㄥ鐞�
+                    }
+                }
+            }
         }
-
     }
 
-    public void sendMeg(String[] split, String phone, String applyType, Integer fundType, Long fundId) {
+
+    public void sendMeg(String[] split, String phone, String applyType, Integer fundType, Long fundId) throws ApiException {
         //璁板綍鎿嶄綔璁板綍
         ServiceFundflow serviceFundflow = new ServiceFundflow();
-        serviceFundflow.setCreateBy("admin");
+        serviceFundflow.setCreateBy(split[0]);
         serviceFundflow.setCreateTime(new Date());
-        serviceFundflow.setUpdateBy("admin");
+        serviceFundflow.setUpdateBy(split[0]);
         serviceFundflow.setUpdateTime(new Date());
         serviceFundflow.setCheckusername(split[0]);
         serviceFundflow.setFlowcontent(split[2]);
@@ -112,17 +545,154 @@
         serviceFundflow.setFundid(fundId);
         fundflowService.save(serviceFundflow);
 
-        ArrayList<ConcurrentHashMap<String, String>> contentList = new ArrayList<>();
+        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("瀹℃壒浜猴細", split[0]);
+        map.put("瀹℃壒鏃堕棿锛�", split[1]);
+        map.put("鎰忚锛�", split[2]);
         contentList.add(map);
         DingTalkReqVo dingTalkReqVo = new DingTalkReqVo();
         dingTalkReqVo.setTitle("璐㈠姟绯荤粺椹冲洖淇℃伅");
-        dingTalkReqVo.setNumber("13634195431");
+        dingTalkReqVo.setNumber(phone);
         dingTalkReqVo.setContents(contentList);
         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;
+    }
+
+
+    /**
+     * 灏嗘暟鎹瓨鍒板垎浜〃涓�
+     */
+    public void addDataShared() {
+        ServiceFundflowrule serviceFundflowrule = new ServiceFundflowrule();
+        //澶勭悊宸梾鎶ラ攢
+        serviceFundflowrule.setApplytype("0");
+        List<ServiceFundflowrule> serviceFundflowrules = iServiceFundflowruleService.queryList(serviceFundflowrule);
+        log.info("宸梾鐨勬渶楂樼瓑绾�:{}", serviceFundflowrules.get(0).getTotallevel());
+        ServiceReimbursement serviceReimbursement = new ServiceReimbursement();
+        serviceReimbursement.setFlowlevel(serviceFundflowrules.get(0).getTotallevel().longValue());
+        serviceReimbursement.setUploadStates(1);
+        serviceReimbursement.setDelFlag(0);
+        List<ServiceReimbursement> serviceReimbursementList = serviceReimbursementService.queryList(serviceReimbursement);
+        for (ServiceReimbursement serviceReimbursement1 : serviceReimbursementList) {
+            try {
+                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);
+                }
+            } catch (Exception e) {
+                ServiceReimbursement serviceReimbursement2 = new ServiceReimbursement();
+                serviceReimbursement2.setId(serviceReimbursement1.getId());
+                serviceReimbursement2.setNotes("鎻掑叆鍒嗕韩琛ㄥけ璐�");
+                serviceReimbursementService.updateById(serviceReimbursement2);
+            }
+        }
+
+        //涓撳鍔冲姟璐圭敵璇�
+        serviceFundflowrule.setApplytype("1");
+        List<ServiceFundflowrule> serviceFundflowrules2 = iServiceFundflowruleService.queryList(serviceFundflowrule);
+        log.info("涓撳鍔冲姟鐨勬渶楂樼瓑绾�:{}", serviceFundflowrules2.get(0).getTotallevel());
+        addFunfShared(serviceFundflowrules2.get(0).getTotallevel().longValue(), "1");
+
+        //浼︾悊涓撳鍔冲姟璐圭敵璇�
+        serviceFundflowrule.setApplytype("2");
+        List<ServiceFundflowrule> serviceFundflowrules3 = iServiceFundflowruleService.queryList(serviceFundflowrule);
+        log.info("浼︾悊涓撳鍔冲姟璐圭敵璇�:{}", serviceFundflowrules3.get(0).getTotallevel());
+        addFunfShared(serviceFundflowrules3.get(0).getTotallevel().longValue(), "2");
+
+        //鍖诲鎴愭湰鎶ラ攢
+        serviceFundflowrule.setApplytype("3");
+        List<ServiceFundflowrule> serviceFundflowrules4 = iServiceFundflowruleService.queryList(serviceFundflowrule);
+        log.info("鍖诲鎴愭湰鎶ラ攢:{}", serviceFundflowrules4.get(0).getTotallevel());
+        addFunfShared(serviceFundflowrules4.get(0).getTotallevel().longValue(), "3");
+
+        //鍔炲叕璐圭敤鎶ラ攢
+        serviceFundflowrule.setApplytype("4");
+        List<ServiceFundflowrule> serviceFundflowrules5 = iServiceFundflowruleService.queryList(serviceFundflowrule);
+        log.info("鍔炲叕璐圭敤鎶ラ攢:{}", serviceFundflowrules5.get(0).getTotallevel());
+        addFunfShared(serviceFundflowrules5.get(0).getTotallevel().longValue(), "4");
+
+        //缁╂晥瀹℃壒鎶ラ攢
+        serviceFundflowrule.setApplytype("5");
+        List<ServiceFundflowrule> serviceFundflowrules6 = iServiceFundflowruleService.queryList(serviceFundflowrule);
+        log.info("鍔炲叕璐圭敤鎶ラ攢:{}", serviceFundflowrules6.get(0).getTotallevel());
+        addFunfShared(serviceFundflowrules6.get(0).getTotallevel().longValue(), "5");
+
+    }
+
+    private void addFunfShared(Long totallevel, String applyType) {
+        ServiceFund serviceFund = new ServiceFund();
+        serviceFund.setFlowlevel(totallevel);
+        serviceFund.setUploadStates(1);
+        serviceFund.setDel_flag(0);
+        serviceFund.setApplytype(applyType);
+        List<ServiceFund> serviceFundList = serviceFundService.queryList(serviceFund);
+        for (ServiceFund serviceFund1 : serviceFundList) {
+            try {
+                log.info("鎻掑叆鍒嗕韩琛ㄧ殑FundID涓猴細{}", serviceFund1.getId());
+                Boolean aBoolean = serviceFundService.addFundSharedInfo(serviceFund1.getId());
+                if (aBoolean) {
+                    ServiceFund serviceFund2 = new ServiceFund();
+                    serviceFund2.setId(serviceFund1.getId());
+                    serviceFund2.setUploadStates(2);
+                    boolean b = serviceFundService.updateById(serviceFund2);
+                    log.info("serviceReimbursement鏄惁鎻掑叆鎴愬姛{},{}", aBoolean, b);
+                }
+            } catch (Exception e) {
+                ServiceFund serviceFund2 = new ServiceFund();
+                serviceFund2.setId(serviceFund1.getId());
+                serviceFund2.setUploadStates(1);
+                serviceFund2.setNotes("鎻掑叆fund鍒嗕韩琛ㄥけ璐�");
+                serviceFundService.updateById(serviceFund2);
+            }
+        }
+    }
+
 }

--
Gitblit v1.9.3