|  |  | 
 |  |  | 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.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.stereotype.Component; | 
 |  |  | 
 |  |  |  | 
 |  |  | 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; | 
 |  |  | 
 |  |  |     private IServiceFundSharedService serviceFundSharedService; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private IServiceFunddetailSharedService serviceFunddetailSharedService; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private IServiceFunddetailService serviceFunddetailService; | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private IServiceReimbursementdetailService serviceReimbursementdetailService; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private IServiceReimbursementdetailSharedService reimbursementdetailSharedService; | 
 |  |  |     private IServiceFundflowruleService iServiceFundflowruleService; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private IServiceFundService serviceFundService; | 
 |  |  |  | 
 |  |  | //    @Autowired | 
 |  |  | //    private IServiceReimbursementService serviceReimbursementService; | 
 |  |  |     @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) { | 
 |  |  | 
 |  |  |         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(shared表)在详情备份表是否存在 | 
 |  |  | //            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(shared表)在详情备份表是否存在 | 
 |  |  | //            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() { | 
 |  |  |     public void checkReportInfo() throws ApiException { | 
 |  |  |         //查出所有被医院退回的Fund数据 | 
 |  |  |         List<ServiceFundShared> serviceFundShareds = serviceFundSharedService.queryFundShareList(); | 
 |  |  |         for (ServiceFundShared serviceFundShared : serviceFundShareds) { | 
 |  |  |             if (StringUtils.isNotBlank(serviceFundShared.getOabdzt()) && serviceFundShared.getOabdzt().equals("已撤销")) { | 
 |  |  |                 //如果有财务驳回信息说明是退回的 | 
 |  |  |                 String[] split = serviceFundShared.getCxrjyj().split("&"); | 
 |  |  |                 String[] split = null; | 
 |  |  |                 if (StringUtils.isNotEmpty(serviceFundShared.getCxrjyj())) { | 
 |  |  |                     split = serviceFundShared.getCxrjyj().split("&"); | 
 |  |  |                 } | 
 |  |  |                 String phone = serviceFundShared.getPhone(); | 
 |  |  |                 //将分享里的该数据删除 | 
 |  |  |                 serviceFundSharedService.delfundsharedInfoById(serviceFundShared.getId()); | 
 |  |  |  | 
 |  |  |                 log.info("checkReportInfo中入参ID为:{}" , serviceFundShared.getId()); | 
 |  |  |                 Boolean aBoolean = serviceFundSharedService.delfundsharedInfoById(serviceFundShared.getId(), null); | 
 |  |  |                 log.info("fund分享表里的数据是否删除成功:{}" , aBoolean); | 
 |  |  |                 ServiceFund serviceFund = new ServiceFund(); | 
 |  |  |                 serviceFund.setId(serviceFundShared.getSerfunid()); | 
 |  |  |                 List<ServiceFund> serviceFunds = serviceFundService.queryList(serviceFund); | 
 |  |  |                 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); | 
 |  |  |                 sendMeg(split, phone, serviceFundShared.getApplytype(), 2, serviceFundShared.getSerfunid()); | 
 |  |  |  | 
 |  |  |                 SysUser sysUser = sysUserService.selectUserByUserName(serviceFund1.getUserno()); | 
 |  |  | //                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) { | 
 |  |  | 
 |  |  |                     } | 
 |  |  |                     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()); | 
 |  |  | 
 |  |  |                     } | 
 |  |  |                     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); | 
 |  |  | 
 |  |  |                             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); | 
 |  |  | 
 |  |  |                             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); | 
 |  |  | 
 |  |  |                             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); | 
 |  |  | 
 |  |  |             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("&"); | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 //将分享里的该数据删除 | 
 |  |  |                 serviceReimbursementSharedService.delResharedInfoById(serviceReimbursementShared.getId()); | 
 |  |  |  | 
 |  |  |                 Boolean aBoolean = serviceReimbursementSharedService.delResharedInfoById(serviceReimbursementShared.getId()); | 
 |  |  |                 log.info("将分享里的该数据删除: {}" , aBoolean); | 
 |  |  |                 //将Flowlevel 设置为0; | 
 |  |  |                 ServiceReimbursement serviceReimbursement = new ServiceReimbursement(); | 
 |  |  |                 serviceReimbursement.setId(serviceReimbursementShared.getReimid()); | 
 |  |  | 
 |  |  |                 ServiceReimbursement serviceReimbursement1 = serviceReimbursementList.get(0); | 
 |  |  |                 serviceReimbursement1.setFlowlevel(100L); | 
 |  |  |                 serviceReimbursement1.setDelFlag(0); | 
 |  |  |                 serviceReimbursement1.setUploadStates(0); | 
 |  |  |                 serviceReimbursement1.setBackflowlevel(199L); | 
 |  |  |                 serviceReimbursement1.setRecordstatus(-1); | 
 |  |  |                 serviceReimbursementService.updateById(serviceReimbursement1); | 
 |  |  |                 sendMeg(split, phone, "0", 1, serviceReimbursementShared.getReimid()); | 
 |  |  |  | 
 |  |  |                 SysUser sysUser = sysUserService.selectUserByUserName(serviceReimbursement1.getUserno()); | 
 |  |  |                 //发送信息保存 | 
 |  |  | //                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 { | 
 |  |  |                 //不是退回的操作 | 
 |  |  |  | 
 |  |  | 
 |  |  |                         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()); | 
 |  |  | 
 |  |  |                     serviceFundflow.setFundtype(1); | 
 |  |  |                     // 999 通过 | 
 |  |  |                     serviceFundflow.setFlowlevel(999); | 
 |  |  |                     serviceFundflow.setApplytype(null); | 
 |  |  |                     serviceFundflow.setApplytype("0"); | 
 |  |  |                     serviceFundflow.setFundid(serviceReimbursementShared.getReimid()); | 
 |  |  |  | 
 |  |  |                     serviceReimbursementShared.setSpjg(1); | 
 |  |  | 
 |  |  |                             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); | 
 |  |  | 
 |  |  |                             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); | 
 |  |  | 
 |  |  |                             serviceFundflow.setFlowconclusion(1); | 
 |  |  |                             serviceFundflow.setFundtype(1); | 
 |  |  |                             serviceFundflow.setFlowlevel(999); | 
 |  |  |                             serviceFundflow.setApplytype(null); | 
 |  |  |                             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 { | 
 |  |  |         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("admin"); | 
 |  |  |  | 
 |  |  |         serviceFundflow.setCreateBy(people); | 
 |  |  |         serviceFundflow.setUpdateBy(people); | 
 |  |  |         serviceFundflow.setCheckusername(people); | 
 |  |  |         serviceFundflow.setCreateTime(new Date()); | 
 |  |  |         serviceFundflow.setUpdateBy("admin"); | 
 |  |  |         serviceFundflow.setUpdateTime(new Date()); | 
 |  |  |         serviceFundflow.setCheckusername(split[0]); | 
 |  |  |         serviceFundflow.setFlowcontent(split[2]); | 
 |  |  |         serviceFundflow.setFlowcontent(content); | 
 |  |  |         serviceFundflow.setFlowconclusion(2); | 
 |  |  |         serviceFundflow.setFundtype(fundType); | 
 |  |  |         serviceFundflow.setFlowlevel(100); | 
 |  |  | 
 |  |  |         serviceFundflow.setFundid(fundId); | 
 |  |  |         fundflowService.save(serviceFundflow); | 
 |  |  |  | 
 |  |  | //        ArrayList<ConcurrentHashMap<String, String>> contentList = new ArrayList<>(); | 
 |  |  | //        ConcurrentHashMap map = new ConcurrentHashMap(); | 
 |  |  | //        map.put("审批人", split[0]); | 
 |  |  | //        map.put("审批时间", split[1]); | 
 |  |  | //        map.put("意见", split[2]); | 
 |  |  | //        contentList.add(map); | 
 |  |  | //        DingTalkReqVo dingTalkReqVo = new DingTalkReqVo(); | 
 |  |  | //        dingTalkReqVo.setTitle("财务系统驳回信息"); | 
 |  |  | //        dingTalkReqVo.setNumber(phone); | 
 |  |  | //        dingTalkReqVo.setContents(contentList); | 
 |  |  | //        dingTalkService.sendNotification(dingTalkReqVo); | 
 |  |  |         ArrayList<ConcurrentHashMap<String, Object>> contentList = new ArrayList<>(); | 
 |  |  |         ConcurrentHashMap map = new ConcurrentHashMap(); | 
 |  |  |         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.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(); | 
 |  |  | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |         } catch (Exception e) { | 
 |  |  |             log.error("获取编号失败了{}", e.getStackTrace()); | 
 |  |  |             log.error("获取编号失败了{}" , e.getStackTrace()); | 
 |  |  |         } finally { | 
 |  |  |             lock.unlock(); | 
 |  |  |         } | 
 |  |  | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 将数据存到分享表中 | 
 |  |  |      */ | 
 |  |  |     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()); | 
 |  |  |         addFundShared(serviceFundflowrules2.get(0).getTotallevel().longValue(), "1"); | 
 |  |  |  | 
 |  |  |         //伦理专家劳务费申请 | 
 |  |  |         serviceFundflowrule.setApplytype("2"); | 
 |  |  |         List<ServiceFundflowrule> serviceFundflowrules3 = iServiceFundflowruleService.queryList(serviceFundflowrule); | 
 |  |  |         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()); | 
 |  |  |         addFundShared(serviceFundflowrules4.get(0).getTotallevel().longValue(), "3"); | 
 |  |  |  | 
 |  |  |         //办公费用报销 | 
 |  |  |         serviceFundflowrule.setApplytype("4"); | 
 |  |  |         List<ServiceFundflowrule> serviceFundflowrules5 = iServiceFundflowruleService.queryList(serviceFundflowrule); | 
 |  |  |         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()); | 
 |  |  |         addFundShared(serviceFundflowrules6.get(0).getTotallevel().longValue(), "5"); | 
 |  |  |  | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     private void addFundShared(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); | 
 |  |  |                     serviceFund2.setUpdateTime(new Date()); | 
 |  |  |                     boolean b = serviceFundService.updateById(serviceFund2); | 
 |  |  |                     log.info("serviceReimbursement是否插入成功{},{}" , aBoolean, b); | 
 |  |  |                 } | 
 |  |  |             } catch (Exception e) { | 
 |  |  |                 e.printStackTrace(); | 
 |  |  |                 ServiceFund serviceFund2 = new ServiceFund(); | 
 |  |  |                 serviceFund2.setId(serviceFund1.getId()); | 
 |  |  |                 serviceFund2.setUploadStates(1); | 
 |  |  |                 serviceFund2.setNotes("插入fund分享表失败"); | 
 |  |  |                 serviceFundService.updateById(serviceFund2); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |  | 
 |  |  | } |