添加图片异步转出,添加图片旋转角度。

main
zhanghai 1 year ago
parent 824295481e
commit e034fbe2af

@ -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;
}

Loading…
Cancel
Save