|
|
|
@ -42,7 +42,7 @@ public class SyncBasicFileImpl implements ISyncBasicFileService {
|
|
|
|
|
|
|
|
|
|
private SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
|
|
|
|
|
|
|
private final ExecutorService executor = new ThreadPoolExecutor(100, 100,
|
|
|
|
|
private final ExecutorService executor = new ThreadPoolExecutor(3, 3,
|
|
|
|
|
30L, TimeUnit.DAYS,
|
|
|
|
|
new LinkedBlockingQueue<Runnable>());
|
|
|
|
|
|
|
|
|
@ -229,6 +229,10 @@ public class SyncBasicFileImpl implements ISyncBasicFileService {
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
ExecutorService executor = new ThreadPoolExecutor(30, 30,
|
|
|
|
|
30L, TimeUnit.DAYS,
|
|
|
|
|
new LinkedBlockingQueue<Runnable>());
|
|
|
|
|
|
|
|
|
|
String outDir = "F:\\lianzhong" + File.separator
|
|
|
|
|
+ cyYear + File.separator
|
|
|
|
|
+ cyMonth + File.separator
|
|
|
|
@ -240,32 +244,35 @@ public class SyncBasicFileImpl implements ISyncBasicFileService {
|
|
|
|
|
List<TPicture> tPictureList = pictureMapper.getPictureInfoByCid(cuid);
|
|
|
|
|
log.info("查询到的联众数据" + tPictureList.size());
|
|
|
|
|
// 2.1根据病案信息拼接地址
|
|
|
|
|
int sort = 0;
|
|
|
|
|
final int[] sort = {0};
|
|
|
|
|
for (TPicture tpicture : tPictureList) {
|
|
|
|
|
|
|
|
|
|
String picName = tpicture.getPicName().split(".jpg")[0];
|
|
|
|
|
// 创建一个有返回值的异步任务
|
|
|
|
|
CompletableFuture<Void> future = CompletableFuture.runAsync(() -> {
|
|
|
|
|
|
|
|
|
|
String picName = tpicture.getPicName().split(".jpg")[0];
|
|
|
|
|
// String inPutFile = rootDir + picName + ".tif";
|
|
|
|
|
String outFile = outDir + File.separator + picName + ".jpg";
|
|
|
|
|
String outFile = outDir + File.separator + picName + ".jpg";
|
|
|
|
|
// File file = new File(inPutFile);
|
|
|
|
|
// if (!file.exists()){
|
|
|
|
|
// log.info(basicVo.getInpatientNo()+"文件未找到"+inPutFile);
|
|
|
|
|
// }
|
|
|
|
|
log.info("开始转换文件" + picName);
|
|
|
|
|
boolean savePicFlag = false;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
String cmd = "C:\\Debug\\lianzhong.exe 003 192.168.8.74 " + tCardInfo.getId() + " " + tpicture.getPicId() + " " + tCardInfo.getPatno() + " " + format + " " + picName + ".jpg " + outFile + " http://192.168.8.74 90";
|
|
|
|
|
try {
|
|
|
|
|
Process exec = Runtime.getRuntime().exec(cmd);
|
|
|
|
|
int i = exec.waitFor();
|
|
|
|
|
savePicFlag = i == 0;
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
log.info("执行命令失败{}", e.getMessage());
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
}
|
|
|
|
|
log.info("开始转换文件" + picName);
|
|
|
|
|
boolean savePicFlag = false;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
String cmd = "C:\\Debug\\lianzhong.exe 003 192.168.8.74 " + tCardInfo.getId() + " " + tpicture.getPicId() + " " + tCardInfo.getPatno() + " " + format + " " + picName + ".jpg " + outFile + " http://192.168.8.74 "+tpicture.getRotateDegree();
|
|
|
|
|
try {
|
|
|
|
|
Process exec = Runtime.getRuntime().exec(cmd);
|
|
|
|
|
int i = exec.waitFor();
|
|
|
|
|
savePicFlag = i == 0;
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
log.info("执行命令失败{}", e.getMessage());
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 2.2jp2转化jpg 图片通过文件流写到挂在的盘符
|
|
|
|
|
// 2.2jp2转化jpg 图片通过文件流写到挂在的盘符
|
|
|
|
|
// savePicFlag = ImageUtils.getInstance().savePic(inPutFile, outFile, tpicture.getRotateDegree());
|
|
|
|
|
// log.info("是否转换成功"+savePicFlag);
|
|
|
|
|
// if (!savePicFlag){
|
|
|
|
@ -274,30 +281,36 @@ public class SyncBasicFileImpl implements ISyncBasicFileService {
|
|
|
|
|
// inPutFile = rootDir + picName + ".jp2";
|
|
|
|
|
// savePicFlag = ImageUtils.getInstance().savePic(inPutFile, outFile, tpicture.getRotateDegree());
|
|
|
|
|
// }
|
|
|
|
|
// 2.4组合文件信息
|
|
|
|
|
ScanAssort scanAssort = new ScanAssort();
|
|
|
|
|
scanAssort.setId(SnowflakeIdWorker.idWorker.nextId());
|
|
|
|
|
scanAssort.setPatientId(basicVo.getPatientId());
|
|
|
|
|
scanAssort.setAssortId(tpicture.getPicKind());
|
|
|
|
|
scanAssort.setFileTitle(picName);
|
|
|
|
|
scanAssort.setImagePath(outDir);
|
|
|
|
|
scanAssort.setCreateTime(new Date());
|
|
|
|
|
scanAssort.setScanPage(picName + ".jpg");
|
|
|
|
|
scanAssort.setSort(sort);
|
|
|
|
|
scanAssort.setFileSource(2);
|
|
|
|
|
scanAssort.setFileStorageType(1);
|
|
|
|
|
scanAssort.setFilePages(1);
|
|
|
|
|
|
|
|
|
|
if (savePicFlag) {
|
|
|
|
|
log.info(basicVo.getInpatientNo() + "次数" + basicVo.getAdmissTimes() + "同步成功" + picName);
|
|
|
|
|
scanAssort.setCreater("auto7");
|
|
|
|
|
} else {
|
|
|
|
|
log.info(basicVo.getInpatientNo() + "次数" + basicVo.getAdmissTimes() + "失败");
|
|
|
|
|
scanAssort.setCreater("auto4");
|
|
|
|
|
}
|
|
|
|
|
// 2.4组合文件信息
|
|
|
|
|
ScanAssort scanAssort = new ScanAssort();
|
|
|
|
|
scanAssort.setId(SnowflakeIdWorker.idWorker.nextId());
|
|
|
|
|
scanAssort.setPatientId(basicVo.getPatientId());
|
|
|
|
|
scanAssort.setAssortId(tpicture.getPicKind());
|
|
|
|
|
scanAssort.setFileTitle(picName);
|
|
|
|
|
scanAssort.setImagePath(outDir);
|
|
|
|
|
scanAssort.setCreateTime(new Date());
|
|
|
|
|
scanAssort.setScanPage(picName + ".jpg");
|
|
|
|
|
scanAssort.setSort(sort[0]);
|
|
|
|
|
scanAssort.setFileSource(2);
|
|
|
|
|
scanAssort.setFileStorageType(1);
|
|
|
|
|
scanAssort.setFilePages(1);
|
|
|
|
|
|
|
|
|
|
if (savePicFlag) {
|
|
|
|
|
log.info(basicVo.getInpatientNo() + "次数" + basicVo.getAdmissTimes() + "同步成功" + picName);
|
|
|
|
|
scanAssort.setCreater("auto7");
|
|
|
|
|
} else {
|
|
|
|
|
log.info(basicVo.getInpatientNo() + "次数" + basicVo.getAdmissTimes() + "失败");
|
|
|
|
|
scanAssort.setCreater("auto4");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
scanAssortList.add(scanAssort);
|
|
|
|
|
sort[0] += 1;
|
|
|
|
|
|
|
|
|
|
},executor);
|
|
|
|
|
// 获取异步任务的结果
|
|
|
|
|
future.join();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
scanAssortList.add(scanAssort);
|
|
|
|
|
sort += 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|