解决并发不执行问题

main
zhanghai 1 year ago
parent e034fbe2af
commit 7a7d61c569

@ -261,15 +261,7 @@ public class SyncBasicFileImpl implements ISyncBasicFileService {
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 图片通过文件流写到挂在的盘符
@ -282,18 +274,32 @@ public class SyncBasicFileImpl implements ISyncBasicFileService {
// 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[0]);
scanAssort.setFileSource(2);
scanAssort.setFileStorageType(1);
scanAssort.setFilePages(1);
synchronized (this){
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);
sort[0] += 1;
}
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();
}
if (savePicFlag) {
log.info(basicVo.getInpatientNo() + "次数" + basicVo.getAdmissTimes() + "同步成功" + picName);
@ -304,12 +310,9 @@ public class SyncBasicFileImpl implements ISyncBasicFileService {
}
scanAssortList.add(scanAssort);
sort[0] += 1;
},executor);
// 获取异步任务的结果
future.join();
}

Loading…
Cancel
Save