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

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

Loading…
Cancel
Save