zjh
2024-12-18 404fa9ff4331d6bb5037dbec466022fade5e82bc
ltkj-admin/src/main/java/com/ltkj/web/config/timer/DefaultScheduled.java
@@ -12,6 +12,7 @@
import com.ltkj.system.service.ISysConfigService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Profile;
import org.springframework.stereotype.Component;
import javax.annotation.PostConstruct;
@@ -34,6 +35,7 @@
 */
@Slf4j
@Component
@Profile("!dev")
public class DefaultScheduled {
@@ -94,22 +96,27 @@
                List<String> jc = orderService.getDingShiTongBuJianChaTjNum();
                if(null !=jy && !jy.isEmpty()){
                    log.info("同步检验人员 执行数量->{}", jy.size());
                    for (String s : jy) {
                        TjOrder order = orderService.getOrderByTjNum(s);
                        extractedjianyan(s,order);
//                        TjOrder order = orderService.getOrderByTjNum(s);
                        extractedjianyan(s);
                    }
                }
                if(null !=jc && !jc.isEmpty()){
                    log.info("同步检查人员 执行数量->{}", jc.size());
                    for (String s : jc) {
                        TjOrder order = orderService.getOrderByTjNum(s);
                        extractedjiancha(s,order);
//                        TjOrder order = orderService.getOrderByTjNum(s);
                        extractedjiancha(s);
                    }
                }
                Map<String,Object> map=new HashMap<>();
                testMapper.tjplUpdateDetatilByVi(map);
                Integer object = (Integer) map.get("total");
                log.info("执行存储过程后出参->{}",object);
                if(null !=object && object.equals(1)){
                    long end = System.currentTimeMillis();
                    log.info("同步结束 耗时:{}秒", (end - start) / 1000);
@@ -121,6 +128,7 @@
                }
            }
        } catch (Exception e) {
            log.error("定时器执行报错");
            e.printStackTrace();
        } finally {
            scheduleNextTask(Long.parseLong(dsrwsjjg));
@@ -128,50 +136,47 @@
        }
    }
    private void extractedjianyan(String s,TjOrder order) {
        List<LtkjHysqd> hysqdList = testMapper.getCcXZxYyLtkjHysqdByLisVi(order.getTjNumber());
        if(null != hysqdList && !hysqdList.isEmpty()){
            for (LtkjHysqd hysqd : hysqdList) {
                LtkjHysqd jybgid = ltkjHysqdService.getLtkjHysqdByTjhAndTmh(hysqd.getTjh(),hysqd.getTmh());
                if (null != jybgid) {
                    ltkjHysqdService.deletedLtkjHysqdByTjhAndTmh(hysqd.getTjh(),hysqd.getTmh());
                    ltkjHybgdService.deletedLtkjHybgdByTjhAndTmh(hysqd.getTmh());
    private void extractedjianyan(String s) {
        try {
            List<LtkjHysqd> hysqdList = testMapper.getCcXZxYyLtkjHysqdByLisVi(s);
            if(null != hysqdList && !hysqdList.isEmpty()){
                for (LtkjHysqd hysqd : hysqdList) {
                    LtkjHysqd jybgid = ltkjHysqdService.getLtkjHysqdByTjhAndTmh(hysqd.getTjh(),hysqd.getTmh());
                    if (null != jybgid) {
                        ltkjHysqdService.deletedLtkjHysqdByTjhAndTmh(hysqd.getTjh(),hysqd.getTmh());
                        ltkjHybgdService.deletedLtkjHybgdByTjhAndTmh(hysqd.getTmh());
                    }
                    if (ltkjHysqdService.save(hysqd)) {
                        List<LtkjHybgd> hybgdList = testMapper.getCcXZxYyLtkjHybgdByLisVi(hysqd.getTmh());
                        ltkjHybgdService.saveBatch(hybgdList);
                    }
                }
                if (ltkjHysqdService.save(hysqd)) {
                    List<LtkjHybgd> hybgdList = testMapper.getCcXZxYyLtkjHybgdByLisVi(hysqd.getTmh());
                    ltkjHybgdService.saveBatch(hybgdList);
                }
                DynamicDataSourceContextHolder.clearDataSourceType();
            }
            DynamicDataSourceContextHolder.clearDataSourceType();
        } catch (Exception e) {
            log.info("同步检验数据失败");
            throw new RuntimeException(e);
        }
//        String tjNumber1 = order.getTjNumber();
//        log.info("查询出来的体检号是: " + tjNumber1);
//        log.info("传过来的的体检号是: "+ s);
//        Map<String,Object> map=new HashMap<>();
//        map.put("tjnum", s);
//        testMapper.tjUpdateDetatilByVi(map);
//        asyncService.tjUpdateDetatilByVi(s);
//        log.info("定时任务存储过程已执行!!!");
    }
    private void extractedjiancha(String s,TjOrder order) {
    private void extractedjiancha(String s) {
        List<LtkjExamJcsqd> jcsqdList = testMapper.getCcXZxYyPacsLtkjExamJcsqd(order.getTjNumber());
        if(null !=jcsqdList && !jcsqdList.isEmpty()){
            jcsqdService.deletedLtkjJcsqdByTjhAndTmh(order.getCardId());
            jcbgdService.deletedLtkjJcbgdByTjhAndTmh(order.getCardId());
            jcsqdService.saveBatch(jcsqdList);
            List<LtkjExamJcbgd> jcbgdList = testMapper.getCcXZxYyPacsLtkjExamJcbgd(order.getCardId());
            if(null != jcbgdList && !jcbgdList.isEmpty())jcbgdService.saveBatch(jcbgdList);
            DynamicDataSourceContextHolder.clearDataSourceType();
        try {
            List<LtkjExamJcsqd> jcsqdList = testMapper.getCcXZxYyPacsLtkjExamJcsqd(s);
            if(null !=jcsqdList && !jcsqdList.isEmpty()){
                DynamicDataSourceContextHolder.clearDataSourceType();
                jcsqdService.deletedLtkjJcsqdByTjhAndTmh(s);
                jcbgdService.deletedLtkjJcbgdByTjhAndTmh(s);
                jcsqdService.saveBatch(jcsqdList);
                List<LtkjExamJcbgd> jcbgdList = testMapper.getCcXZxYyPacsLtkjExamJcbgd(s);
                DynamicDataSourceContextHolder.clearDataSourceType();
                if(null != jcbgdList && !jcbgdList.isEmpty())jcbgdService.saveBatch(jcbgdList);
                DynamicDataSourceContextHolder.clearDataSourceType();
            }
        } catch (Exception e) {
            log.info("同步检查数据失败");
            throw new RuntimeException(e);
        }
//        String tjNumber1 = order.getTjNumber();
//        log.info("查询出来的体检号是: " + tjNumber1);
//        log.info("传过来的的体检号是: "+ s);
//        Map<String,Object> map=new HashMap<>();
//        map.put("tjnum", s);
//        testMapper.tjUpdateDetatilByVi(map);
//        log.info("定时任务存储过程已执行!!!");
    }
}