患者导入限制修改

This commit is contained in:
zhangheng 2026-01-20 09:40:18 +08:00
parent 0901b6411a
commit e79509d9f4

View File

@ -346,8 +346,12 @@ public class PatientInfoServiceImpl implements IPatientInfoService {
@Transactional(rollbackFor = Exception.class)
@Override
public AjaxResult patientUpload(List<PatientInfoImport> list, Integer isDistinct, String fileName, String importName) {
int number;
String importPersonTime = sysConfigService.selectConfigByKey("import_person_time");
int number = Integer.parseInt(importPersonTime);
if (org.apache.commons.lang3.StringUtils.isBlank(importPersonTime)) {
number = 1000;
}
number = Integer.parseInt(importPersonTime);
if (CollectionUtils.isNotEmpty(list) && list.size() > number) {
return AjaxResult.error("本次导入表数据超过" + number + "人次上限!");
}
@ -507,13 +511,13 @@ public class PatientInfoServiceImpl implements IPatientInfoService {
patientInfoImportMain.setFileName(fileName);
patientInfoImportMain.setHospitalAgencyName(agency.getAgencyName());
patientInfoImportMain.setImportStatus(ImportStatusEnum.UNFINISHED.getInfo());
patientInfoImportMain.setImportName(org.apache.commons.lang3.StringUtils.isNotBlank(importName)?importName : sn);
patientInfoImportMain.setImportName(org.apache.commons.lang3.StringUtils.isNotBlank(importName) ? importName : sn);
patientInfoImportMainMapper.insertPatientInfoImportMain(patientInfoImportMain);
//endregion
//科室名称全符合新增患者表否则返回数据 简化导入修改
//if (CollectionUtils.isNotEmpty(deptAliasVOS)) {
//return AjaxResult.error("科室名称不存在", patientInfoImportVO);
//return AjaxResult.error("科室名称不存在", patientInfoImportVO);
//}
//region 新增居民表
patientInfoImportList.forEach(item ->
@ -553,53 +557,53 @@ public class PatientInfoServiceImpl implements IPatientInfoService {
}
//endregion
//设置为门诊患者
patientInfoImportList.forEach(item ->
{
item.setPatientType(PatientTypeEnum.OUTPATIENT.getInfo());
item.setVisitMethod(VisitMethodConstants.OUTPATIENT_SERVICE);
});
//新增患者表
int insertPatientInfo = patientInfoMapper.insertPatientInfoList(patientInfoImportList);
if (insertPatientInfo <= 0) {
log.info("患者表新增失败!");
return AjaxResult.error("患者信息新增失败;");
}
patientInfoImportList.forEach(item -> item.setPatientInfoId(item.getId()));
//新增就诊记录表
//region 新增就诊记录表
List<PatientVisitRecord> patientVisitRecords = new ArrayList<>();
for (PatientInfoImport patientInfoImport : patientInfoImportList) {
PatientVisitRecord patientVisitRecord = new PatientVisitRecord();
patientVisitRecord.setPatientId(patientInfoImport.getPatientInfoId());
patientVisitRecord.setResidentId(patientInfoImport.getResidentId());
BeanUtils.copyProperties(patientInfoImport, patientVisitRecord);
patientVisitRecord.setDelFlag(0);
patientVisitRecord.setHospitalAgencyId(agency.getId());
patientVisitRecord.setHospitalAgencyName(agency.getAgencyName());
patientVisitRecord.setCreateBy(SecurityUtils.getUsername());
patientVisitRecord.setCreateTime(LocalDateTime.now());
patientVisitRecord.setVisitDate(patientInfoImport.getVisitDate().atTime(0, 0, 0));
patientVisitRecords.add(patientVisitRecord);
}
int patientVisitRecordCount = patientVisitRecordMapper.insertPatientVisitRecordList(patientVisitRecords);
if (patientVisitRecordCount <= 0) {
log.info("就诊记录表新增失败!");
return AjaxResult.error("就诊记录新增失败");
}
// 更新 患者信息表中 最近一次问诊记录id
for (PatientInfoImport patientInfoImport : patientInfoImportList) {
//获取患者的最近一次就诊ID
PatientVisitRecordDto patientVisitRecordDto = new PatientVisitRecordDto();
patientVisitRecordDto.setPatientId(patientInfoImport.getPatientInfoId());
PatientVisitRecord patientVisitRecord = patientVisitRecordMapper.getLastRecord(patientVisitRecordDto);
PatientInfo patientInfo = new PatientInfo();
patientInfo.setId(patientInfoImport.getPatientInfoId());
// 修改患者最近一次就诊记录id
patientInfo.setPatientVisitRecordId(patientVisitRecord.getId());
patientInfoMapper.updatePatientInfoSelective(patientInfo);
}
//endregion
//设置为门诊患者
patientInfoImportList.forEach(item ->
{
item.setPatientType(PatientTypeEnum.OUTPATIENT.getInfo());
item.setVisitMethod(VisitMethodConstants.OUTPATIENT_SERVICE);
});
//新增患者表
int insertPatientInfo = patientInfoMapper.insertPatientInfoList(patientInfoImportList);
if (insertPatientInfo <= 0) {
log.info("患者表新增失败!");
return AjaxResult.error("患者信息新增失败;");
}
patientInfoImportList.forEach(item -> item.setPatientInfoId(item.getId()));
//新增就诊记录表
//region 新增就诊记录表
List<PatientVisitRecord> patientVisitRecords = new ArrayList<>();
for (PatientInfoImport patientInfoImport : patientInfoImportList) {
PatientVisitRecord patientVisitRecord = new PatientVisitRecord();
patientVisitRecord.setPatientId(patientInfoImport.getPatientInfoId());
patientVisitRecord.setResidentId(patientInfoImport.getResidentId());
BeanUtils.copyProperties(patientInfoImport, patientVisitRecord);
patientVisitRecord.setDelFlag(0);
patientVisitRecord.setHospitalAgencyId(agency.getId());
patientVisitRecord.setHospitalAgencyName(agency.getAgencyName());
patientVisitRecord.setCreateBy(SecurityUtils.getUsername());
patientVisitRecord.setCreateTime(LocalDateTime.now());
patientVisitRecord.setVisitDate(patientInfoImport.getVisitDate().atTime(0, 0, 0));
patientVisitRecords.add(patientVisitRecord);
}
int patientVisitRecordCount = patientVisitRecordMapper.insertPatientVisitRecordList(patientVisitRecords);
if (patientVisitRecordCount <= 0) {
log.info("就诊记录表新增失败!");
return AjaxResult.error("就诊记录新增失败");
}
// 更新 患者信息表中 最近一次问诊记录id
for (PatientInfoImport patientInfoImport : patientInfoImportList) {
//获取患者的最近一次就诊ID
PatientVisitRecordDto patientVisitRecordDto = new PatientVisitRecordDto();
patientVisitRecordDto.setPatientId(patientInfoImport.getPatientInfoId());
PatientVisitRecord patientVisitRecord = patientVisitRecordMapper.getLastRecord(patientVisitRecordDto);
PatientInfo patientInfo = new PatientInfo();
patientInfo.setId(patientInfoImport.getPatientInfoId());
// 修改患者最近一次就诊记录id
patientInfo.setPatientVisitRecordId(patientVisitRecord.getId());
patientInfoMapper.updatePatientInfoSelective(patientInfo);
}
//endregion
PatientInfoImportMain patientInfoImportMainSn = new PatientInfoImportMain();
patientInfoImportMainSn.setSn(sn);