sinake
23 小时以前 371603a0eb9f3a279cf77073734e991b5851b792
ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/CollectHISServiceImpl.java
@@ -11,6 +11,7 @@
import com.smartor.mapper.*;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
import org.springframework.stereotype.Service;
@@ -82,6 +83,7 @@
    @Override
    public Integer selectPatMedInhospList(PatMedInhosp patMedInhosp) {
        List<PatMedInhosp> patMedInhospList = chMapper.selectPatMedInhospList(patMedInhosp);
        log.info("可同步病人数量"+patMedInhospList.size());
        for (PatMedInhosp pm : patMedInhospList) {
            PatArchive patArchive = new PatArchive();
            patArchive.setPatientno(pm.getPatno());
@@ -126,7 +128,10 @@
    @Override
    public Boolean hnDataGather(HnDataGatherVO hnDataGatherVO) {
        if(ObjectUtils.isEmpty(hnDataGatherVO.getStartTime()) )
            hnDataGatherVO.setStartTime(new Date());
        if(ObjectUtils.isEmpty(hnDataGatherVO.getEndTime()) )
            hnDataGatherVO.setEndTime(new Date());
        LocalDate startDate = hnDataGatherVO.getStartTime().toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
        LocalDate endDate = hnDataGatherVO.getEndTime().toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
@@ -192,8 +197,24 @@
    public Integer selectIcd10List(Icd10 icd10) {
        List<Icd10> icd10s = chMapper.selectIcd10List(icd10);
        log.info("selectIcd10List的采集到的数量为:{}", icd10s.size());
        int i = icd10Mapper.batchIcd10(icd10s);
        return i;
        int size = 0;
        if (icd10s.size() > 500) {
            int i = icd10s.size() / 500;
            for (int a = 0; a < i + 1; a++) {
                if (a >= 0 && a < i) {
                    List<Icd10> icd10Temp = icd10s.subList(a * 500, (a + 1) * 500);
                    size += icd10Mapper.batchIcd10(icd10Temp);
                } else {
                    List<Icd10> icd10Temp = icd10s.subList(i * 500, icd10s.size());
                    if (icd10Temp != null && icd10Temp.size() != 0) {
                        size += icd10Mapper.batchIcd10(icd10Temp);
                    }
                }
            }
        } else {
            size += icd10Mapper.batchIcd10(icd10s);
        }
        return size;
    }
    @Override