executorService = Executors.newFixedThreadPool(17);
long start = System.currentTimeMillis();
CountDownLatch countDownLatch = new CountDownLatch(CacheConfigValues.length);
for (CacheConfig ch : CacheConfigValues) {
Runnable runnable = () -> {
String tableKey = StringUtils.nvlString(ch);
try {
Map<String, Object> codeMap = new HashMap<>();
log.info("----------------TJSY---------------- [{}]", "加載" + tableKey + "信息");
String field = ch.getField();
String sqlid = ch.getSqlid();
String tableName = ch.getTableName();
Map<String, Object> paramMap = new HashMap<>();
paramMap.put("TABLENAME", tableName);
paramMap.put("FIELD", field);
List<Map<String, Object>> codeResultList = DBUtils.queryBySqlId(sqlid, paramMap, 1, 10000, "");
if("CODE_BZHLX".equals(tableName)){
codeResultList.forEach(item -> {
String code = StringUtils.nvlString(item.get("SEARCH"));
codeMap.put(code, item);
});
}
codeResultList.forEach(item -> {
String code = StringUtils.nvlString(item.get("CODE"));
codeMap.put(code, item);
});
codeCacheMap.put(tableKey, codeMap);
log.info("----------------TJSY---------------- [{}]", "加載" + tableKey + "信息完成");
} catch (Exception e) {
log.info("----------------TJSY---------------- [{}]", "加載" + tableKey + "信息失敗");
log.error("----------------TJSY---------------- [{}]", "錯誤信息:" + e.getMessage());
flagMap.put("flag",false);
e.printStackTrace();
} finally {
countDownLatch.countDown();
}
};
executorService.submit(runnable);
}
try {
countDownLatch.await();
} catch (InterruptedException e) {
e.printStackTrace();
}
public Map<String, Object> extractAsjInfoCeShi(String asjbh, String canshu) {
Map<String, Object> resultMap = new HashMap<>();
String canShuInfo = asjbh + "&" + canshu;
Map<String, Object> maps = BaseParamMapUtils.GetPivture(canShuInfo);
List<Map<String, Object>> zbfzxyrList = (List<Map<String, Object>>) maps.get("TB_XW_ZBFZXYR");
List<Map<String, Object>> flwsList = (List<Map<String, Object>>) maps.get("TB_ST_ASJ_FLWS");
Map<String, String> codeMap = new HashMap<>();
codeMap.put("FLWS_ASJFLWSDM", "CODE_ASJFLWS");
CodeService.resultOfTransaction(codeMap, flwsList);
List<Map<String, Object>> asjInfo = (List<Map<String, Object>>) maps.get("TB_ST_ASJ");
List<Map<String, Object>> list = new ArrayList<>();
flwsList.parallelStream().filter(e -> {
String flws_dzwjgs = StringUtils.nvlString(e.get("FLWS_DZWJGS"));
return StringUtils.equalsIgnoreCase(flws_dzwjgs, ".png")
|| StringUtils.equalsIgnoreCase(flws_dzwjgs, "png")
|| StringUtils.equalsIgnoreCase(flws_dzwjgs, ".jpg")
|| StringUtils.equalsIgnoreCase(flws_dzwjgs, "jpg")
|| StringUtils.equalsIgnoreCase(flws_dzwjgs, ".bmp")
|| StringUtils.equalsIgnoreCase(flws_dzwjgs, "bmp")
|| StringUtils.equalsIgnoreCase(flws_dzwjgs, ".jpeg")
|| StringUtils.equalsIgnoreCase(flws_dzwjgs, "jpeg")
|| StringUtils.equalsIgnoreCase(flws_dzwjgs, "pdf")
|| StringUtils.equalsIgnoreCase(flws_dzwjgs, ".pdf");
}).forEachOrdered(s -> list.add(s));
zbfzxyrList.stream().forEach(e -> {
List<Map<String, Object>> list1 = new ArrayList<>();
String xxzjbh = StringUtils.nvlString(e.get("XXZJBH"));
list.stream().forEach(item -> {
if (xxzjbh.equals(StringUtils.nvlString(item.get("FLWS_GLXX_XXZJBH")))) {
list1.add(item);
}
});
e.put("YSGLFJ", list1);
});
zbfzxyrList.stream().forEach(e -> {
String xxzjbh = StringUtils.nvlString(e.get("XXZJBH"));
list.removeIf(s -> StringUtils.nvlString(s.get("FLWS_GLXX_XXZJBH")).equals(xxzjbh)
);
});
String asjInfoAsjbh = null;
for (Map<String, Object> asjMap : asjInfo) {
asjInfoAsjbh = StringUtils.nvlString(asjMap.get("ASJBH"));
}
ExecutorService executorService = Executors.newFixedThreadPool(17);
long startTime = System.currentTimeMillis();
CountDownLatch countDownLatch = new CountDownLatch(list.size());
for (Map<String, Object> asjFileMap : list) {
String finalAsjInfoAsjbh = asjInfoAsjbh;
executorService.submit(new Runnable() {
@Override
public void run() {
Map<String, Object> fileMap = new HashMap<>();
fileMap.put("asjbh", finalAsjInfoAsjbh);
fileMap.put("XXZJBH", StringUtils.nvlString(asjFileMap.get("XXZJBH")));
fileMap.put("FLWSLXDM", StringUtils.nvlString(asjFileMap.get("FLWS_ASJFLWSDM_CODE")));
fileMap.put("DZWJBT", StringUtils.nvlString(asjFileMap.get("FLWS_DZWJBT")));
fileMap.put("DZWJGS", StringUtils.nvlString(asjFileMap.get("FLWS_DZWJGS")));
fileMap.put("DZWJWZ", StringUtils.nvlString(asjFileMap.get("FLWS_DZWJWZ")));
Map<String, Object> map = null;
try {
} catch (Exception e) {
e.printStackTrace();
}
}
});
executorService.shutdown();
}
long endTime = System.currentTimeMillis();
System.out.println("執行線程時間1:" + (endTime - startTime) + "ms");
resultMap.put("TB_ST_ASJ_FLWS", list);
resultMap.put("TB_XW_ZBFZXYR", zbfzxyrList);
resultMap.put("TB_ST_ASJ", asjInfo);
return resultMap;
}
public Map<String, Object> extractAsjInfo(String asjbh, String canshu, String userGajgjgdm, String userGajgmc, String userXm, String userGmsfhm, String userLxdh) {
Map<String, Object> resultMap = new HashMap<>();
String canShuInfo = asjbh + "&" + canshu;
Map<String, Object> maps = BaseParamMapUtils.GetPivture(canShuInfo);
List<Map<String, Object>> zbfzxyrList = (List<Map<String, Object>>) maps.get("TB_XW_ZBFZXYR");
List<Map<String, Object>> flwsList = (List<Map<String, Object>>) maps.get("TB_ST_ASJ_FLWS");
Map<String, String> codeMap = new HashMap<>();
codeMap.put("FLWS_ASJFLWSDM", "CODE_ASJFLWS");
CodeService.resultOfTransaction(codeMap, flwsList);
List<Map<String, Object>> asjInfo = (List<Map<String, Object>>) maps.get("TB_ST_ASJ");
List<Map<String, Object>> flwsList1 = flwsList.stream().filter(e -> {
String flws_dzwjgs = StringUtils.nvlString(e.get("FLWS_DZWJGS"));
return StringUtils.equalsIgnoreCase(flws_dzwjgs, ".png")
|| StringUtils.equalsIgnoreCase(flws_dzwjgs, "png")
|| StringUtils.equalsIgnoreCase(flws_dzwjgs, ".jpg")
|| StringUtils.equalsIgnoreCase(flws_dzwjgs, "jpg")
|| StringUtils.equalsIgnoreCase(flws_dzwjgs, ".bmp")
|| StringUtils.equalsIgnoreCase(flws_dzwjgs, "bmp")
|| StringUtils.equalsIgnoreCase(flws_dzwjgs, ".jpeg")
|| StringUtils.equalsIgnoreCase(flws_dzwjgs, "jpeg")
|| StringUtils.equalsIgnoreCase(flws_dzwjgs, "pdf")
|| StringUtils.equalsIgnoreCase(flws_dzwjgs, ".pdf");
}).collect(Collectors.toList());
zbfzxyrList.stream().forEach(e -> {
List<Map<String, Object>> list1 = new ArrayList<>();
String xxzjbh = StringUtils.nvlString(e.get("XXZJBH"));
flwsList1.stream().forEach(item -> {
if (xxzjbh.equals(StringUtils.nvlString(item.get("FLWS_GLXX_XXZJBH")))) {
list1.add(item);
}
});
e.put("YSGLFJ", list1);
});
for (Map<String, Object> map : zbfzxyrList) {
String xxzjbh = StringUtils.nvlString(map.get("XXZJBH"));
for (Iterator iterator = flwsList1.iterator(); iterator.hasNext(); ) {
Map<String, Object> nextMap = (Map<String, Object>) iterator.next();
if (StringUtils.nvlString(nextMap.get("FLWS_GLXX_XXZJBH")).equals(xxzjbh)) {
iterator.remove();
}
}
}
String asjInfoAsjbh = null;
for (Map<String, Object> asjMap : asjInfo) {
asjInfoAsjbh = StringUtils.nvlString(asjMap.get("ASJBH"));
}
ExecutorService executorService = Executors.newFixedThreadPool(17);
long startTime = System.currentTimeMillis();
CountDownLatch countDownLatch = new CountDownLatch(flwsList1.size());
for (Map<String, Object> asjFileMap : flwsList1) {
String finalAsjInfoAsjbh = asjInfoAsjbh;
Runnable runnable = () -> {
Map<String, Object> fileMap = new HashMap<>();
fileMap.put("asjbh", finalAsjInfoAsjbh);
fileMap.put("XXZJBH", StringUtils.nvlString(asjFileMap.get("XXZJBH")));
fileMap.put("FLWSLXDM", StringUtils.nvlString(asjFileMap.get("FLWS_ASJFLWSDM_CODE")));
fileMap.put("DZWJBT", StringUtils.nvlString(asjFileMap.get("FLWS_DZWJBT")));
fileMap.put("DZWJGS", StringUtils.nvlString(asjFileMap.get("FLWS_DZWJGS")));
fileMap.put("DZWJWZ", StringUtils.nvlString(asjFileMap.get("FLWS_DZWJWZ")));
try {
insertFlwsInfo(fileMap, userGajgjgdm, userGajgmc, userXm, userGmsfhm, userLxdh);
} catch (Exception e) {
e.printStackTrace();
} finally {
countDownLatch.countDown();
}
};
executorService.submit(runnable);
}
try {
countDownLatch.await();
} catch (InterruptedException e) {
e.printStackTrace();
}
long endTime = System.currentTimeMillis();
System.out.println("執行線程時間1:" + (endTime - startTime) + "ms");
for (Map<String, Object> fzxyrMap : zbfzxyrList) {
if (!StringUtils.nvlString(fzxyrMap.get("YSGLFJ")).equals("")) {
List<Map<String, Object>> ysglfjList = (List<Map<String, Object>>) fzxyrMap.get("YSGLFJ");
ExecutorService executorService2 = Executors.newFixedThreadPool(17);
long startTime2 = System.currentTimeMillis();
CountDownLatch countDownLatch2 = new CountDownLatch(ysglfjList.size());
for (Map<String, Object> ysglfjMap : ysglfjList) {
String finalAsjInfoAsjbh1 = asjInfoAsjbh;
Runnable runnable = () -> {
Map<String, Object> fileMap = new HashMap<>();
fileMap.put("asjbh", finalAsjInfoAsjbh1);
fileMap.put("rybh", StringUtils.nvlString(ysglfjMap.get("FLWS_GLXX_XXZJBH")));
fileMap.put("XXZJBH", StringUtils.nvlString(ysglfjMap.get("XXZJBH")));
fileMap.put("FLWSLXDM", StringUtils.nvlString(ysglfjMap.get("FLWS_ASJFLWSDM_CODE")));
fileMap.put("DZWJBT", StringUtils.nvlString(ysglfjMap.get("FLWS_DZWJBT")));
fileMap.put("DZWJGS", StringUtils.nvlString(ysglfjMap.get("FLWS_DZWJGS")));
fileMap.put("DZWJWZ", StringUtils.nvlString(ysglfjMap.get("FLWS_DZWJWZ")));
try {
insertFlwsInfo(fileMap, userGajgjgdm, userGajgmc, userXm, userGmsfhm, userLxdh);
} catch (Exception e) {
e.printStackTrace();
} finally {
countDownLatch2.countDown();
}
};
executorService2.submit(runnable);
}
long endTime2 = System.currentTimeMillis();
System.out.println("執行線程時間2:" + (endTime2 - startTime2) + "ms");
}
}
resultMap.put("TB_ST_ASJ_FLWS", flwsList1);
resultMap.put("TB_XW_ZBFZXYR", zbfzxyrList);
resultMap.put("TB_ST_ASJ", asjInfo);
return resultMap;
}
public Map<String, Object> extractAsjInfoCeShi(String asjbh, String canshu, String userGajgjgdm, String userGajgmc, String userXm, String userGmsfhm, String userLxdh) {
Map<String, Object> resultMap = new HashMap<>();
String canShuInfo = asjbh + "&" + canshu;
Map<String, Object> maps = BaseParamMapUtils.GetPivture(canShuInfo);
List<Map<String, Object>> zbfzxyrList = (List<Map<String, Object>>) maps.get("TB_XW_ZBFZXYR");
List<Map<String, Object>> flwsList = (List<Map<String, Object>>) maps.get("TB_ST_ASJ_FLWS");
Map<String, String> codeMap = new HashMap<>();
codeMap.put("FLWS_ASJFLWSDM", "CODE_ASJFLWS");
CodeService.resultOfTransaction(codeMap, flwsList);
List<Map<String, Object>> asjInfo = (List<Map<String, Object>>) maps.get("TB_ST_ASJ");
List<Map<String, Object>> list = new ArrayList<>();
flwsList.parallelStream().filter(e -> {
String flws_dzwjgs = StringUtils.nvlString(e.get("FLWS_DZWJGS"));
return StringUtils.equalsIgnoreCase(flws_dzwjgs, ".png")
|| StringUtils.equalsIgnoreCase(flws_dzwjgs, "png")
|| StringUtils.equalsIgnoreCase(flws_dzwjgs, ".jpg")
|| StringUtils.equalsIgnoreCase(flws_dzwjgs, "jpg")
|| StringUtils.equalsIgnoreCase(flws_dzwjgs, ".bmp")
|| StringUtils.equalsIgnoreCase(flws_dzwjgs, "bmp")
|| StringUtils.equalsIgnoreCase(flws_dzwjgs, ".jpeg")
|| StringUtils.equalsIgnoreCase(flws_dzwjgs, "jpeg")
|| StringUtils.equalsIgnoreCase(flws_dzwjgs, "pdf")
|| StringUtils.equalsIgnoreCase(flws_dzwjgs, ".pdf");
}).forEachOrdered(s -> list.add(s));
zbfzxyrList.stream().forEach(e -> {
List<Map<String, Object>> list1 = new ArrayList<>();
String xxzjbh = StringUtils.nvlString(e.get("XXZJBH"));
list.stream().forEach(item -> {
if (xxzjbh.equals(StringUtils.nvlString(item.get("FLWS_GLXX_XXZJBH")))) {
list1.add(item);
}
});
e.put("YSGLFJ", list1);
});
zbfzxyrList.stream().forEach(e -> {
String xxzjbh = StringUtils.nvlString(e.get("XXZJBH"));
list.removeIf(s -> StringUtils.nvlString(s.get("FLWS_GLXX_XXZJBH")).equals(xxzjbh)
);
});
String asjInfoAsjbh = null;
for (Map<String, Object> asjMap : asjInfo) {
asjInfoAsjbh = StringUtils.nvlString(asjMap.get("ASJBH"));
}
ExecutorService executorService = Executors.newFixedThreadPool(17);
long startTime = System.currentTimeMillis();
CountDownLatch countDownLatch = new CountDownLatch(list.size());
for (Map<String, Object> asjFileMap : list) {
String finalAsjInfoAsjbh = asjInfoAsjbh;
Future future = executorService.submit(new Runnable() {
@Override
public void run() {
Map<String, Object> fileMap = new HashMap<>();
fileMap.put("asjbh", finalAsjInfoAsjbh);
fileMap.put("XXZJBH", StringUtils.nvlString(asjFileMap.get("XXZJBH")));
fileMap.put("FLWSLXDM", StringUtils.nvlString(asjFileMap.get("FLWS_ASJFLWSDM_CODE")));
fileMap.put("DZWJBT", StringUtils.nvlString(asjFileMap.get("FLWS_DZWJBT")));
fileMap.put("DZWJGS", StringUtils.nvlString(asjFileMap.get("FLWS_DZWJGS")));
fileMap.put("DZWJWZ", StringUtils.nvlString(asjFileMap.get("FLWS_DZWJWZ")));
try {
insertFlwsInfo(fileMap, userGajgjgdm, userGajgmc, userXm, userGmsfhm, userLxdh);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
executorService.shutdown();
long endTime = System.currentTimeMillis();
System.out.println("執行線程時間1:" + (endTime - startTime) + "ms");
resultMap.put("TB_ST_ASJ_FLWS", list);
resultMap.put("TB_XW_ZBFZXYR", zbfzxyrList);
resultMap.put("TB_ST_ASJ", asjInfo);
return resultMap;
new Thread(new Runnable() {
@Override
public void run() {
}
}).start();