| | |
| | | import com.smartor.mapper.*; |
| | | import com.smartor.service.IPatArchiveService; |
| | | import com.smartor.service.IPatMedInhospService; |
| | | import com.smartor.service.IPatMedOuthospService; |
| | | import com.smartor.service.IServiceSLTDHealthcareRecordService; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.commons.collections4.CollectionUtils; |
| | |
| | | private IPatMedInhospService patMedInhospService; |
| | | |
| | | @Autowired |
| | | private PatMedOuthospMapper patMedOuthospMapper; |
| | | private IPatMedOuthospService patMedOuthospService; |
| | | |
| | | @Autowired |
| | | private SysUser2Mapper sysUser2Mapper; |
| | |
| | | try { |
| | | //这里用自动忽略重复会有问题,如果表重新建,serialnum索引会丢失。就无法去重,所以还是需要内存里去重 |
| | | batchList = DistinctByProperty.distinctByProperty(batchList, PatMedOuthosp::getSerialnum); |
| | | int insertCount = patMedOuthospMapper.batchInsertIgnore(batchList); |
| | | Integer insertCount = 0; |
| | | for (PatMedOuthosp patMedOuthosp : batchList) { |
| | | insertCount += patMedOuthospService.insertPatMedOuthosp(patMedOuthosp); |
| | | } |
| | | |
| | | log.info("批量插入门急诊记录,总数:{}, 实际插入:{}", batchList.size(), insertCount); |
| | | |
| | | } catch (Exception e) { |
| | | log.error("批量插入门急诊记录失败", e); |
| | | // 降级为逐条插入 |
| | | for (PatMedOuthosp patMedOuthosp : batchList) { |
| | | try { |
| | | patMedOuthospMapper.insertPatMedOuthosp(patMedOuthosp); |
| | | } catch (Exception ex) { |
| | | log.warn("单条插入失败:serialnum={}", patMedOuthosp.getSerialnum()); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | return true; |