feat: 梅州三院,添加基础数据同步检查
parent
6589a73323
commit
b9b90dc3c8
@ -0,0 +1,71 @@
|
||||
package com.docus.server.mzsy.job;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import com.docus.core.util.Func;
|
||||
import com.docus.infrastructure.core.utils.TableJsonRead;
|
||||
import com.docus.server.archive.job.PatientInfoSyncJob;
|
||||
import com.docus.server.archive.mapper.TBasicMapper;
|
||||
import com.docus.server.mzsy.entity.MzsyPatientInfoView;
|
||||
import com.docus.server.mzsy.mapper.MzsyPatientInfoViewMapper;
|
||||
import com.xxl.job.core.handler.annotation.XxlJob;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author YongBin Wen
|
||||
* @date 2026/2/27 10:38
|
||||
*/
|
||||
@Component
|
||||
@Slf4j
|
||||
public class BasicCheckJob {
|
||||
@Resource
|
||||
private MzsyPatientInfoViewMapper mzsyPatientInfoViewMapper;
|
||||
|
||||
@Resource
|
||||
private TBasicMapper tBasicMapper;
|
||||
|
||||
@XxlJob("MzsyBasicSyncCheckJob")
|
||||
public void basicSyncCheckJob() {
|
||||
log.info("梅州三院基础数据检查任务开始了");
|
||||
try {
|
||||
String jobConfigPath = "data-config\\job-config";
|
||||
String jobConfigName = "ViewPatientInfoSyncJob.json";
|
||||
TableJsonRead jsonReader = new TableJsonRead();
|
||||
PatientInfoSyncJob.PatientInfoSyncJobConfig syncJobConfig = jsonReader.Read(jobConfigPath, jobConfigName, PatientInfoSyncJob.PatientInfoSyncJobConfig.class);
|
||||
syncJobConfig = PatientInfoSyncJob.PatientInfoSyncJobConfig.checkAndInit(syncJobConfig);
|
||||
String cyrqStart = syncJobConfig.getCyrqStart();
|
||||
int offset = 0;
|
||||
int size = 2000;
|
||||
while (true) {
|
||||
List<String> jzhs = tBasicMapper.getJzhByDisDate(cyrqStart, offset, size);
|
||||
if (CollUtil.isEmpty(jzhs)) {
|
||||
break;
|
||||
}
|
||||
List<MzsyPatientInfoView> views = mzsyPatientInfoViewMapper.getByJzh(cyrqStart, jzhs);
|
||||
List<String> viewJzhs = views.stream().map(MzsyPatientInfoView::getJZH).collect(Collectors.toList());
|
||||
List<String> cancelJzhs = new ArrayList<>();
|
||||
for (String jzh : jzhs) {
|
||||
if (viewJzhs.contains(jzh)) {
|
||||
continue;
|
||||
}
|
||||
cancelJzhs.add(jzh);
|
||||
}
|
||||
if(CollUtil.isNotEmpty(cancelJzhs)){
|
||||
tBasicMapper.cancenlByJzhs(cancelJzhs);
|
||||
log.info("jzhs:{} 视图数据为无需同步数据或者不存在,作废基础数据!", Func.toJson(cancelJzhs));
|
||||
}
|
||||
offset = offset + size;
|
||||
}
|
||||
log.info("梅州三院基础数据检查任务结束了");
|
||||
} catch (Exception e) {
|
||||
log.error("梅州三院基础数据检查出错了," + e.getMessage(), e);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Reference in New Issue