fix: 筛选如果基础数据都没有文件,则直接删除

jp2demo1.0
wyb 7 months ago
parent 35c4634d4f
commit a6d5da1f95

@ -18,6 +18,7 @@ import org.springframework.web.multipart.MultipartFile;
import java.time.LocalDate;
import java.time.temporal.TemporalAdjusters;
import java.util.Collections;
import java.util.List;
@Api(value = "数据同步接口", tags = "数据同步接口")
@RestController("/sync")
@ -148,4 +149,18 @@ public class SyncBasicDataController {
}
}
@ApiOperation("根据 病案号、姓名、出院日期、住院次数 进行筛选数据保留一条")
@PostMapping("/chooseByInpatientNo")
public CommonResult<?> chooseByInpatientNo(@RequestBody List<String> inpatientNos){
log.info("根据 病案号、姓名、出院日期、住院次数 进行筛选数据保留一条");
try {
syncBasicDataService.choose(inpatientNos);
log.info("根据 病案号、姓名、出院日期、住院次数 进行筛选数据保留一条,已完成!");
return CommonResult.success("筛选完成!");
} catch (Exception ex) {
log.error("根据 病案号、姓名、出院日期、住院次数 进行筛选数据保留一条,出现异常!" + ex.getMessage(), ex);
return CommonResult.failed("筛选异常!");
}
}
}

@ -17,4 +17,6 @@ public interface ISyncBasicDataService {
void scanBasicCorrect(List<BasicCorrectDto> basicCorrectDtos);
void choose();
void choose(List<String> inpatientNos);
}

@ -175,6 +175,14 @@ public class SyncBasicDataImpl implements ISyncBasicDataService {
log.info("本次筛选完成!");
}
@Override
public void choose(List<String> inpatientNos) {
for (String inpatientNo : inpatientNos) {
choose(inpatientNo);
log.info("已经筛选病案号:{} ", inpatientNo);
}
}
/**
*
* / +10
@ -330,6 +338,11 @@ public class SyncBasicDataImpl implements ISyncBasicDataService {
}).collect(Collectors.toList());
if (CollUtil.isEmpty(allScanAssorts)) {
List<String> notSelectedPids = allPatientIds.stream().filter(e -> !e.equals(selectPatientId)).collect(Collectors.toList());
basicMapper.delTbasic(notSelectedPids);
for (String notSelectedPid : notSelectedPids) {
basicMapper.delTbasicSub(notSelectedPid);
}
return;
}

Loading…
Cancel
Save