liusheng
2023-10-18 a54e249f9fedf3633825dd7a6846621df7b110b9
ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java
@@ -1,16 +1,20 @@
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 lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import com.ruoyi.common.utils.StringUtils;
import org.springframework.util.CollectionUtils;
import org.springframework.util.ObjectUtils;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.locks.ReentrantLock;
/**
@@ -25,6 +29,9 @@
    private DingTalkService dingTalkService;
    @Autowired
    private IServiceReimbursementService serviceReimbursementService;
    @Autowired
    private IServiceTasknumService ServiceTasknumService;
    @Autowired
@@ -36,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;
@@ -58,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(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() {
        //查出所有被医院退回的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();
@@ -73,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);
@@ -85,7 +205,7 @@
                    String bh = myMethod();
                    //钱已经到帐,并且审批结果为0,说明审批结束,但数据还没有同步到fund表和fundflow表;对fund表和fundflow表进行更新,并将0改成1
                    ServiceFund serviceFund = new ServiceFund();
                    serviceFund.setBh(bh);
                    serviceFund.setBh(serviceFundShared.getBh());
                    serviceFund.setId(serviceFundShared.getSerfunid());
                    serviceFund.setZffs(serviceFundShared.getZffs());
                    if (StringUtils.isNotBlank(serviceFundShared.getPresident())) {
@@ -157,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);
@@ -204,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);
@@ -235,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);
@@ -265,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);
@@ -315,7 +435,7 @@
                    serviceReimbursement.setId(serviceReimbursementShared.getReimid());
                    serviceReimbursement.setZffs(serviceReimbursementShared.getZffs());
                    serviceReimbursement.setRiqi(serviceReimbursementShared.getRiqi());
                    serviceReimbursement.setBh(bh);
                    serviceReimbursement.setBh(serviceReimbursementShared.getBh());
                    if (StringUtils.isNotBlank(serviceReimbursementShared.getPresident())) {
                        serviceReimbursement.setPresident(serviceReimbursementShared.getPresident());
                    }
@@ -388,7 +508,7 @@
                    serviceFundflow.setFundtype(1);
                    // 999 通过
                    serviceFundflow.setFlowlevel(999);
                    serviceFundflow.setApplytype(null);
                    serviceFundflow.setApplytype("0");
                    serviceFundflow.setFundid(serviceReimbursementShared.getReimid());
                    serviceReimbursementShared.setSpjg(1);
@@ -433,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);
@@ -464,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);
@@ -494,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());