diff --git a/platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/LisServiceImpl.java b/platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/LisServiceImpl.java index 183122f..28a0a68 100644 --- a/platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/LisServiceImpl.java +++ b/platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/LisServiceImpl.java @@ -38,6 +38,8 @@ import java.util.concurrent.Future; @Service("lisService") public class LisServiceImpl implements LisService { + private static final int BATCH_SIZE = 10; + @Autowired private MasterLisMapper masterLisMapper; @Autowired @@ -52,14 +54,13 @@ public class LisServiceImpl implements LisService { System.out.println("saveLis data size = "+ lisList.size()); if (CollectionUtils.isNotEmpty(lisList)) { - int batchSize = 10; //线程数 - int threadCount = lisList.size()%batchSize == 0 ? lisList.size()/batchSize : lisList.size()/batchSize+1; + int threadCount = lisList.size()%BATCH_SIZE == 0 ? lisList.size()/BATCH_SIZE : lisList.size()/BATCH_SIZE+1; System.out.println("threadCount = "+ threadCount); CountDownLatch countDownLatch = new CountDownLatch(threadCount); int end = 0; - for (int i = 0; i < lisList.size(); i += batchSize) { - end = (end + batchSize); + for (int i = 0; i < lisList.size(); i += BATCH_SIZE) { + end = (end + BATCH_SIZE); if (end > lisList.size()) { end = lisList.size(); } @@ -141,28 +142,32 @@ public class LisServiceImpl implements LisService { @Override public void run() { - for(LisReportModel model : lisList) - { - try { - masterLisMapper.deleteLisData(model); - masterLisMapper.saveLisData(model); - - //临时用一下,未确定使用查询方式 - LisReportQuery lisReportQuery = new LisReportQuery(); - lisReportQuery.setLisId(model.getLisId()); - lisReportQuery.setVcCardNo(model.getVcCardNo()); - lisReportQuery.setHospitalId(model.getHospitalId()); - - List lisReportModels = masterLisMapper.queryLisDataByModel(lisReportQuery); - saveLisUpdateData(lisReportModels.get(0)); - - } catch (Exception e) - { - continue; - } + try { + for (LisReportModel model : lisList) { + try { + masterLisMapper.deleteLisData(model); + masterLisMapper.saveLisData(model); + + //临时用一下,未确定使用查询方式 + LisReportQuery lisReportQuery = new LisReportQuery(); + lisReportQuery.setLisId(model.getLisId()); + lisReportQuery.setVcCardNo(model.getVcCardNo()); + lisReportQuery.setHospitalId(model.getHospitalId()); + + List lisReportModels = masterLisMapper.queryLisDataByModel(lisReportQuery); + saveLisUpdateData(lisReportModels.get(0)); + + } catch (Exception e) { + continue; + } + } + } + finally + { + countDownLatch.countDown(); } - countDownLatch.countDown(); + } }