feat: 市一补偿

lianzhong-receive
wyb 1 week ago
parent 618ad44486
commit 3065494e1d

@ -0,0 +1,227 @@
package com.docus.demo.controller;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
import com.docus.demo.dto.SyncBasicDataDto;
import com.docus.demo.dto.SyncFileDto;
import com.docus.demo.dto.SyncLabReportDto;
import com.docus.demo.entity.CommonResult;
import com.docus.demo.facade.ISyncBasicDataService;
import com.docus.demo.facade.ISyncBasicFileService;
import com.docus.demo.facade.IWebService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.time.temporal.TemporalAdjusters;
import java.util.Collections;
import java.util.List;
import java.util.concurrent.ConcurrentHashMap;
/**
*
* @author YongBin Wen
* @date 2025/12/10 8:23
*/
@Api(value = "广州市一数据同步接口", tags = "广州市一数据同步接口")
@RestController
@Slf4j
public class GuangZhouFirstHospController {
private static final ConcurrentHashMap<String, Object> SYNC_BASIC_DATA_BLOCK_MAP = new ConcurrentHashMap<>();
@Autowired
private ISyncBasicDataService syncBasicDataService;
@Autowired
private ISyncBasicFileService syncBasicFileService;
@Autowired
private IWebService webService;
@ApiOperation("省厅-同步基础数据")
@PostMapping("/syncBasicData")
public CommonResult<?> syncBasicData(@RequestBody SyncBasicDataDto syncBasicDataDto) {
if (syncBasicDataDto == null) {
return CommonResult.failed("无效的请求参数!");
}
String blockKey = "syncBasicData:" + JSON.toJSONString(syncBasicDataDto);
if (SYNC_BASIC_DATA_BLOCK_MAP.containsKey(blockKey)) {
return CommonResult.failed("有正在同步的任务!");
}
SYNC_BASIC_DATA_BLOCK_MAP.put(blockKey, 0);
try {
return syncBasicDataService.syncBasicData(syncBasicDataDto);
} catch (Exception ex) {
return CommonResult.failed("同步失败!");
} finally {
SYNC_BASIC_DATA_BLOCK_MAP.remove(blockKey);
}
}
@ApiOperation("省厅-同步单个患者基础数据")
@GetMapping("/syncSingleBasicData")
public CommonResult<?> syncSingleBasicData(@RequestParam(name = "disDate") String disDate, @RequestParam(name = "inpatientNo") String inpatientNo) {
log.info("省厅-同步单个患者基础数据disDate={},inpatientNo={}", disDate, inpatientNo);
String blockKey = "syncSingleBasicData:" + inpatientNo + ":" + disDate;
if (SYNC_BASIC_DATA_BLOCK_MAP.containsKey(blockKey)) {
return CommonResult.failed("有正在同步的任务!");
}
SYNC_BASIC_DATA_BLOCK_MAP.put(blockKey, 0);
try {
LocalDate localDate = LocalDate.parse(disDate);
SyncBasicDataDto dto = new SyncBasicDataDto();
dto.setStartDate(localDate.toString());
dto.setEndDate(localDate.toString());
dto.setInpatientNoList(Collections.singletonList(inpatientNo));
dto.setLimit(100);
return syncBasicDataService.syncBasicData(dto);
} catch (Exception ex) {
return CommonResult.failed("同步失败!");
} finally {
SYNC_BASIC_DATA_BLOCK_MAP.remove(blockKey);
}
}
@ApiOperation("省厅-同步上个月基础数据")
@GetMapping("/syncLastMonthBasicData")
public CommonResult<?> syncLastMonthBasicData() {
String blockKey = "syncLastMonthBasicData";
if (SYNC_BASIC_DATA_BLOCK_MAP.containsKey(blockKey)) {
return CommonResult.failed("有正在同步的任务!");
}
SYNC_BASIC_DATA_BLOCK_MAP.put(blockKey, 0);
try {
LocalDate today = LocalDate.now();
LocalDate firstDayOfLastMonth = today.minusMonths(1).with(TemporalAdjusters.firstDayOfMonth());
LocalDate lastDayOfLastMonth = today.minusMonths(1).with(TemporalAdjusters.lastDayOfMonth());
SyncBasicDataDto dto = new SyncBasicDataDto();
dto.setStartDate(firstDayOfLastMonth.toString());
dto.setEndDate(lastDayOfLastMonth.toString());
dto.setLimit(1000);
return syncBasicDataService.syncBasicData(dto);
} catch (Exception ex) {
return CommonResult.failed("同步失败!");
} finally {
SYNC_BASIC_DATA_BLOCK_MAP.remove(blockKey);
}
}
@ApiOperation("同步检验图片数据")
@PostMapping("/syncInspection")
public CommonResult<?> syncInspection(@RequestBody SyncBasicDataDto syncBasicDataDto) {
return webService.syncInspection(syncBasicDataDto);
}
@ApiOperation("同步检验图片数据V2")
@PostMapping("/syncLabReport")
public CommonResult<?> syncLabReport(@RequestBody SyncLabReportDto syncLabReportDto) {
try {
validateAndSet(syncLabReportDto);
webService.syncLabReport(syncLabReportDto);
return CommonResult.success("同步检验数据成功");
} catch (Exception ex) {
log.error("同步检验图片数据,出错了," + ex.getMessage(), ex);
return CommonResult.failed("同步检验数据出错," + ex.getMessage());
}
}
@ApiOperation("联众-同步基础数据")
@PostMapping("/syncLzBasicData")
public CommonResult<?> syncLzBasicData(@RequestBody SyncBasicDataDto syncBasicDataDto) {
return syncBasicDataService.syncLzBasicData(syncBasicDataDto);
}
@ApiOperation("同步文件数据")
@PostMapping("/syncBasicFile")
public CommonResult<?> syncBasicFile(@RequestBody SyncFileDto syncFileDto) {
return syncBasicFileService.syncBasicFile(syncFileDto);
}
@ApiOperation("去除文件不存在的数据")
@PostMapping("/deleteSync")
public CommonResult<?> deleteSync(@RequestBody SyncBasicDataDto syncBasicDataDto) {
return syncBasicFileService.deleteSync(syncBasicDataDto);
}
@ApiOperation("根据 病案号、姓名、出院日期、住院次数 进行筛选数据保留一条")
@GetMapping("/choose")
public CommonResult<?> choose() {
log.info("根据 病案号、姓名、出院日期、住院次数 进行筛选数据保留一条");
try {
syncBasicDataService.choose();
log.info("根据 病案号、姓名、出院日期、住院次数 进行筛选数据保留一条,已完成!");
return CommonResult.success("筛选完成!");
} catch (Exception ex) {
log.error("根据 病案号、姓名、出院日期、住院次数 进行筛选数据保留一条,出现异常!" + ex.getMessage(), ex);
return CommonResult.failed("筛选异常!");
}
}
@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("筛选异常!");
}
}
private void validateAndSet(SyncLabReportDto syncLabReportDto) {
List<SyncLabReportDto.SyncLabReportBasicDto> basicDtoList = syncLabReportDto.getBasicDtoList();
if (CollUtil.isEmpty(basicDtoList)) {
throw new RuntimeException("患者基础数据为空!");
}
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
for (SyncLabReportDto.SyncLabReportBasicDto basicDto : basicDtoList) {
if (StrUtil.isBlank(basicDto.getInpatientNo()) || StrUtil.isBlank(basicDto.getDisDate())) {
throw new RuntimeException("患者基础数据病案号或出院日期为空!");
}
LocalDate.parse(basicDto.getDisDate(), dateTimeFormatter);
}
final String startDefault = "2018-01-01";
final String endDefault = LocalDate.now().toString() ;
String startDate = syncLabReportDto.getStartDate();
String endDate = syncLabReportDto.getEndDate();
if (StrUtil.isBlank(startDate)) {
startDate = startDefault;
}
if (StrUtil.isBlank(endDate)) {
endDate = endDefault;
}
LocalDate startLocalDate = LocalDate.parse(startDate, dateTimeFormatter);
LocalDate endLocalDate = LocalDate.parse(endDate, dateTimeFormatter);
if (startLocalDate.isAfter(endLocalDate)) {
throw new RuntimeException("三方查询接口开始时间不合法!");
}
syncLabReportDto.setStartDate(startLocalDate + " 00:00:00");
syncLabReportDto.setEndDate(endLocalDate + " 23:59:59");
}
}

@ -1,38 +1,23 @@
package com.docus.demo.controller;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
import com.docus.demo.dto.LianZhongUploadInfo;
import com.docus.demo.dto.SyncBasicDataDto;
import com.docus.demo.dto.SyncFileDto;
import com.docus.demo.dto.SyncLabReportDto;
import com.docus.demo.dto.UploadJpgFileParam;
import com.docus.demo.entity.CommonResult;
import com.docus.demo.facade.ISyncBasicDataService;
import com.docus.demo.facade.ISyncBasicFileService;
import com.docus.demo.facade.IWebService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RequestPart;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.time.temporal.TemporalAdjusters;
import java.util.Collections;
import java.util.List;
import java.util.concurrent.ConcurrentHashMap;
@Api(value = "数据同步接口", tags = "数据同步接口")
@RestController
@Slf4j
@ -42,164 +27,6 @@ public class SyncBasicDataController {
private ISyncBasicDataService syncBasicDataService;
@Autowired
private ISyncBasicFileService syncBasicFileService;
@Autowired
private IWebService webService;
private static final ConcurrentHashMap<String, Object> SYNC_BASIC_DATA_BLOCK_MAP = new ConcurrentHashMap<>();
@ApiOperation("去除文件不存在的数据")
@PostMapping("/deleteSync")
public CommonResult<?> deleteSync(@RequestBody SyncBasicDataDto syncBasicDataDto) {
return syncBasicFileService.deleteSync(syncBasicDataDto);
}
@ApiOperation("省厅-同步基础数据")
@PostMapping("/syncBasicData")
public CommonResult<?> syncBasicData(@RequestBody SyncBasicDataDto syncBasicDataDto) {
if (syncBasicDataDto == null) {
return CommonResult.failed("无效的请求参数!");
}
String blockKey = "syncBasicData:" + JSON.toJSONString(syncBasicDataDto);
if (SYNC_BASIC_DATA_BLOCK_MAP.containsKey(blockKey)) {
return CommonResult.failed("有正在同步的任务!");
}
SYNC_BASIC_DATA_BLOCK_MAP.put(blockKey, 0);
try {
return syncBasicDataService.syncBasicData(syncBasicDataDto);
} catch (Exception ex) {
return CommonResult.failed("同步失败!");
} finally {
SYNC_BASIC_DATA_BLOCK_MAP.remove(blockKey);
}
}
@ApiOperation("省厅-同步单个患者基础数据")
@GetMapping("/syncSingleBasicData")
public CommonResult<?> syncSingleBasicData(@RequestParam(name = "disDate") String disDate, @RequestParam(name = "inpatientNo") String inpatientNo) {
log.info("省厅-同步单个患者基础数据disDate={},inpatientNo={}", disDate, inpatientNo);
String blockKey = "syncSingleBasicData:" + inpatientNo + ":" + disDate;
if (SYNC_BASIC_DATA_BLOCK_MAP.containsKey(blockKey)) {
return CommonResult.failed("有正在同步的任务!");
}
SYNC_BASIC_DATA_BLOCK_MAP.put(blockKey, 0);
try {
LocalDate localDate = LocalDate.parse(disDate);
SyncBasicDataDto dto = new SyncBasicDataDto();
dto.setStartDate(localDate.toString());
dto.setEndDate(localDate.toString());
dto.setInpatientNoList(Collections.singletonList(inpatientNo));
dto.setLimit(100);
return syncBasicDataService.syncBasicData(dto);
} catch (Exception ex) {
return CommonResult.failed("同步失败!");
} finally {
SYNC_BASIC_DATA_BLOCK_MAP.remove(blockKey);
}
}
@ApiOperation("省厅-同步上个月基础数据")
@GetMapping("/syncLastMonthBasicData")
public CommonResult<?> syncLastMonthBasicData() {
String blockKey = "syncLastMonthBasicData";
if (SYNC_BASIC_DATA_BLOCK_MAP.containsKey(blockKey)) {
return CommonResult.failed("有正在同步的任务!");
}
SYNC_BASIC_DATA_BLOCK_MAP.put(blockKey, 0);
try {
LocalDate today = LocalDate.now();
LocalDate firstDayOfLastMonth = today.minusMonths(1).with(TemporalAdjusters.firstDayOfMonth());
LocalDate lastDayOfLastMonth = today.minusMonths(1).with(TemporalAdjusters.lastDayOfMonth());
SyncBasicDataDto dto = new SyncBasicDataDto();
dto.setStartDate(firstDayOfLastMonth.toString());
dto.setEndDate(lastDayOfLastMonth.toString());
dto.setLimit(1000);
return syncBasicDataService.syncBasicData(dto);
} catch (Exception ex) {
return CommonResult.failed("同步失败!");
} finally {
SYNC_BASIC_DATA_BLOCK_MAP.remove(blockKey);
}
}
@ApiOperation("同步检验图片数据")
@PostMapping("/syncInspection")
public CommonResult<?> syncInspection(@RequestBody SyncBasicDataDto syncBasicDataDto) {
return webService.syncInspection(syncBasicDataDto);
}
@ApiOperation("同步检验图片数据V2")
@PostMapping("/syncLabReport")
public CommonResult<?> syncLabReport(@RequestBody SyncLabReportDto syncLabReportDto) {
try {
validateAndSet(syncLabReportDto);
webService.syncLabReport(syncLabReportDto);
return CommonResult.success("同步检验数据成功");
} catch (Exception ex) {
log.error("同步检验图片数据,出错了," + ex.getMessage(), ex);
return CommonResult.failed("同步检验数据出错," + ex.getMessage());
}
}
private void validateAndSet(SyncLabReportDto syncLabReportDto) {
List<SyncLabReportDto.SyncLabReportBasicDto> basicDtoList = syncLabReportDto.getBasicDtoList();
if (CollUtil.isEmpty(basicDtoList)) {
throw new RuntimeException("患者基础数据为空!");
}
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
for (SyncLabReportDto.SyncLabReportBasicDto basicDto : basicDtoList) {
if (StrUtil.isBlank(basicDto.getInpatientNo()) || StrUtil.isBlank(basicDto.getDisDate())) {
throw new RuntimeException("患者基础数据病案号或出院日期为空!");
}
LocalDate.parse(basicDto.getDisDate(), dateTimeFormatter);
}
final String startDefault = "2018-01-01";
final String endDefault = LocalDate.now().toString() ;
String startDate = syncLabReportDto.getStartDate();
String endDate = syncLabReportDto.getEndDate();
if (StrUtil.isBlank(startDate)) {
startDate = startDefault;
}
if (StrUtil.isBlank(endDate)) {
endDate = endDefault;
}
LocalDate startLocalDate = LocalDate.parse(startDate, dateTimeFormatter);
LocalDate endLocalDate = LocalDate.parse(endDate, dateTimeFormatter);
if (startLocalDate.isAfter(endLocalDate)) {
throw new RuntimeException("三方查询接口开始时间不合法!");
}
syncLabReportDto.setStartDate(startLocalDate + " 00:00:00");
syncLabReportDto.setEndDate(endLocalDate + " 23:59:59");
}
@ApiOperation("联众-同步基础数据")
@PostMapping("/syncLzBasicData")
public CommonResult<?> syncLzBasicData(@RequestBody SyncBasicDataDto syncBasicDataDto) {
return syncBasicDataService.syncLzBasicData(syncBasicDataDto);
}
@ApiOperation("同步文件数据")
@PostMapping("/syncBasicFile")
public CommonResult<?> syncBasicFile(@RequestBody SyncFileDto syncFileDto) {
return syncBasicFileService.syncBasicFile(syncFileDto);
}
/**
@ -264,34 +91,7 @@ public class SyncBasicDataController {
}
@ApiOperation("根据 病案号、姓名、出院日期、住院次数 进行筛选数据保留一条")
@GetMapping("/choose")
public CommonResult<?> choose() {
log.info("根据 病案号、姓名、出院日期、住院次数 进行筛选数据保留一条");
try {
syncBasicDataService.choose();
log.info("根据 病案号、姓名、出院日期、住院次数 进行筛选数据保留一条,已完成!");
return CommonResult.success("筛选完成!");
} catch (Exception ex) {
log.error("根据 病案号、姓名、出院日期、住院次数 进行筛选数据保留一条,出现异常!" + ex.getMessage(), ex);
return CommonResult.failed("筛选异常!");
}
}
@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("筛选异常!");
}
}
@ApiOperation("厦门中医院异地扫描导入数据,根据 病案号、姓名、出院日期 进行 入院日期,性别,科室补充,被选择的改为未归档状态")
@GetMapping("/xmzyyYidi/choose")

@ -18,7 +18,7 @@ import java.text.SimpleDateFormat;
import java.util.List;
@Api(value = "临时方法接口", tags = "临时方法接口")
@RestController("/tempfunc")
@RestController
@Slf4j
public class TemporaryFunctionController {

@ -13,11 +13,21 @@ public interface IWebService {
void syncLabReport(SyncLabReportDto syncLabReportDto);
/**
*
* ,syncInspection(Tbasic tbasic, String startDate, String endDate,true)
*
* @param tbasic
* @param startDate yyyy-MM-dd HH:mm:ss
* @param endDate yyyy-MM-dd HH:mm:ss
*/
void syncInspection(Tbasic tbasic, String startDate, String endDate);
/**
* skip
*
* @param tbasic
* @param startDate yyyy-MM-dd HH:mm:ss
* @param endDate yyyy-MM-dd HH:mm:ss
* @param skip
*/
void syncInspection(Tbasic tbasic, String startDate, String endDate,boolean skip);
}

@ -48,6 +48,8 @@ public class WebServiceImpl implements IWebService {
private static final ExecutorService BASE64_CONVERT_PDF_EXECUTOR = Executors.newFixedThreadPool(3);
private final static String LAB_SOURCE="jy";
@Override
public CommonResult<?> syncInspection(SyncBasicDataDto syncBasicDataDto) {
try {
@ -95,13 +97,20 @@ public class WebServiceImpl implements IWebService {
syncBasicDataDto.setEndDate(disDate + " 23:59:59");
List<Tbasic> tbasicList = basicMapper.getOldBasicListLimit(offset, limit, Collections.singletonList(inpatientNo), syncBasicDataDto);
for (Tbasic tbasic : tbasicList) {
syncInspection(tbasic, startDate, endDate);
syncInspection(tbasic, startDate, endDate,false);
}
}
}
@Override
public void syncInspection(Tbasic tbasic, String startDate, String endDate) {
syncInspection(tbasic, startDate, endDate, true);
}
@Override
public void syncInspection(Tbasic tbasic, String startDate, String endDate,boolean skip) {
boolean syncError=false;
Date admissDate = tbasic.getAdmissDate();
// 如果报告的开始时间大于入院时间,则开始时间取入院时间
if (admissDate != null) {
@ -114,21 +123,26 @@ public class WebServiceImpl implements IWebService {
} catch (Exception ignored) {
}
}
String inpatientNo = tbasic.getInpatientNo();
String times = tbasic.getAdmissTimes().toString();
String patientId = tbasic.getPatientId();
log.info("同步检验报告,病案号:{},住院次数:{}", inpatientNo, times);
List<ScanAssort> oldScanAssortList = scanAssortMapper.getListByAssortId("A5A7AA6796D1715A2F1E35699C706C84", patientId);
int size = oldScanAssortList.size();
if (size > 0) {
if (skip && size > 0) {
log.info("同步检验报告跳过同步,病案号:{},住院次数:{} 已经存在 {} 份检验报告", inpatientNo, times, size);
return;
}
basicMapper.addLabSync(patientId, 0);
//获取所有的报告列表
PatientListResult patientListResult = getCommonResult(inpatientNo, times, startDate, endDate);
if (patientListResult == null) {
log.warn("同步检验报告,病案号:{},住院次数:{},开始时间:{},结束时间:{} 未查到报告!", inpatientNo, times, startDate, endDate);
basicMapper.addLabSync(patientId, 404);
return;
}
// 匹配患者的报告列表
@ -138,9 +152,11 @@ public class WebServiceImpl implements IWebService {
.collect(Collectors.toList());
if (reportInfoList.isEmpty()) {
log.warn("同步检验报告,病案号:{},住院次数:{},开始时间:{},结束时间:{} 未查到报告!", inpatientNo, times, startDate, endDate);
basicMapper.addLabSync(patientId, 404);
return;
}
scanAssortMapper.delScanAssort(patientId,LAB_SOURCE);
List<ScanAssort> scanAssortList = new ArrayList<>();
for (int sortIndex = 0; sortIndex < reportInfoList.size(); sortIndex++) {
//根据旧数据判断是否需要做同步
@ -167,6 +183,7 @@ public class WebServiceImpl implements IWebService {
addScanList = toPdfFuture.get();
log.info("同步检验报告,病案号:{},住院次数:{},{} - {} 转换结束", inpatientNo, times, item.getRepId(), item.getPidComName());
} catch (Exception e) {
syncError = true;
String msg = "同步检验报告,病案号:" + inpatientNo + ",住院次数:" + times + "," + item.getRepId() + " - " + item.getPidComName() + " 转换出错了!";
log.error(msg, e);
}
@ -181,6 +198,7 @@ public class WebServiceImpl implements IWebService {
scanAssort.setId(snowflakeIdWorker.nextId());
}
scanAssort.setPatientId(patientId);
scanAssort.setSource(LAB_SOURCE);
scanAssortList.add(scanAssort);
}
@ -190,8 +208,13 @@ public class WebServiceImpl implements IWebService {
if (ObjectUtil.isNotEmpty(scanAssortList)) {
log.info("同步检验报告,病案号:{},住院次数:{},同步 {} 份文件。", inpatientNo, times, scanAssortList.size());
scanAssortMapper.insertOrUpdateBatch(scanAssortList);
if(syncError){
basicMapper.addLabSync(patientId, 500);
}else {
basicMapper.addLabSync(patientId, 1);
}
}
}
private PatientReportResult getReportResult(String repID) {

@ -106,6 +106,8 @@
WHERE assort_id = #{assortId} and patient_id = #{pid} and source='jy'
</select>
<select id="getScanAssort" resultType="com.docus.demo.entity.ScanAssort">
SELECT * FROM docus_archivefile.t_scan_assort WHERE patient_id=#{patientId} and source=#{source}
</select>
@ -131,4 +133,5 @@
</foreach>
</select>
</mapper>
Loading…
Cancel
Save