|
|
|
|
@ -21,7 +21,6 @@ import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
|
|
import java.io.File;
|
|
|
|
|
import java.io.IOException;
|
|
|
|
|
import java.text.SimpleDateFormat;
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
import java.util.Collections;
|
|
|
|
|
@ -31,6 +30,7 @@ import java.util.List;
|
|
|
|
|
import java.util.Map;
|
|
|
|
|
import java.util.concurrent.ExecutorService;
|
|
|
|
|
import java.util.concurrent.Executors;
|
|
|
|
|
import java.util.concurrent.Future;
|
|
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
|
|
@Slf4j
|
|
|
|
|
@ -46,7 +46,7 @@ public class WebServiceImpl implements IWebService {
|
|
|
|
|
|
|
|
|
|
private SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
|
|
|
|
|
|
|
|
|
|
private final ExecutorService executor = Executors.newFixedThreadPool(8);
|
|
|
|
|
private static final ExecutorService BASE64_CONVERT_PDF_EXECUTOR = Executors.newFixedThreadPool(3);
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public CommonResult<?> syncInspection(SyncBasicDataDto syncBasicDataDto) {
|
|
|
|
|
@ -124,7 +124,7 @@ public class WebServiceImpl implements IWebService {
|
|
|
|
|
log.info("同步检验报告跳过同步,病案号:{},住院次数:{} 已经存在 {} 份检验报告", inpatientNo, times, size);
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
basicMapper.addLabSync(patientId,0);
|
|
|
|
|
basicMapper.addLabSync(patientId, 0);
|
|
|
|
|
//获取所有的报告列表
|
|
|
|
|
PatientListResult patientListResult = getCommonResult(inpatientNo, times, startDate, endDate);
|
|
|
|
|
if (patientListResult == null) {
|
|
|
|
|
@ -162,9 +162,11 @@ public class WebServiceImpl implements IWebService {
|
|
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
log.info("同步检验报告,病案号:{},住院次数:{},开始转换:{} - {}", inpatientNo, times, item.getRepId(), item.getPidComName());
|
|
|
|
|
addScanList = PDFFileUtils.base64StringToPDF(base64Result, root, item.getRepId(), item.getPidComName(), sortIndex);
|
|
|
|
|
final int pdfIndex = sortIndex;
|
|
|
|
|
Future<List<ScanAssort>> toPdfFuture = BASE64_CONVERT_PDF_EXECUTOR.submit(() -> PDFFileUtils.base64StringToPDF(base64Result, root, item.getRepId(), item.getPidComName(), pdfIndex));
|
|
|
|
|
addScanList = toPdfFuture.get();
|
|
|
|
|
log.info("同步检验报告,病案号:{},住院次数:{},{} - {} 转换结束", inpatientNo, times, item.getRepId(), item.getPidComName());
|
|
|
|
|
} catch (IOException e) {
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
String msg = "同步检验报告,病案号:" + inpatientNo + ",住院次数:" + times + "," + item.getRepId() + " - " + item.getPidComName() + " 转换出错了!";
|
|
|
|
|
log.error(msg, e);
|
|
|
|
|
}
|
|
|
|
|
@ -186,9 +188,9 @@ public class WebServiceImpl implements IWebService {
|
|
|
|
|
|
|
|
|
|
//数据写入到3.0
|
|
|
|
|
if (ObjectUtil.isNotEmpty(scanAssortList)) {
|
|
|
|
|
log.info("同步检验报告,病案号:{},住院次数:{},同步 {} 份文件。", inpatientNo, times,scanAssortList.size() );
|
|
|
|
|
log.info("同步检验报告,病案号:{},住院次数:{},同步 {} 份文件。", inpatientNo, times, scanAssortList.size());
|
|
|
|
|
scanAssortMapper.insertOrUpdateBatch(scanAssortList);
|
|
|
|
|
basicMapper.addLabSync(patientId,1);
|
|
|
|
|
basicMapper.addLabSync(patientId, 1);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -209,6 +211,20 @@ public class WebServiceImpl implements IWebService {
|
|
|
|
|
return BeanUtil.fillBeanWithMap(result, new PatientReportResult(), false);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static void main(String[] args) {
|
|
|
|
|
String pNo="";
|
|
|
|
|
String times="";
|
|
|
|
|
String StartDate="";
|
|
|
|
|
String EndDate="";
|
|
|
|
|
String paramMap =
|
|
|
|
|
"<![CDATA[<Request>" +
|
|
|
|
|
"<PidInNo>" + pNo + "</PidInNo>"
|
|
|
|
|
+ "<PidAddmissTimes>" + times + "</PidAddmissTimes>"
|
|
|
|
|
+ "<StartDate>" + StartDate + "</StartDate>"
|
|
|
|
|
+ "<EndDate>" + EndDate + "</EndDate>"
|
|
|
|
|
+ "</Request>]]>";
|
|
|
|
|
System.out.println(paramMap);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private PatientListResult getCommonResult(String pNo, String times, String StartDate, String EndDate) {
|
|
|
|
|
String paramMap =
|
|
|
|
|
|