|
@@ -43,6 +43,8 @@ import lombok.extern.slf4j.Slf4j;
|
|
|
import org.apache.poi.ss.usermodel.Name;
|
|
|
import org.apache.poi.ss.usermodel.Sheet;
|
|
|
import org.apache.poi.ss.usermodel.Workbook;
|
|
|
+import org.springframework.core.task.TaskExecutor;
|
|
|
+import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
@@ -53,6 +55,8 @@ import java.io.IOException;
|
|
|
import java.text.Collator;
|
|
|
import java.util.*;
|
|
|
import java.util.concurrent.ConcurrentLinkedQueue;
|
|
|
+import java.util.concurrent.CountDownLatch;
|
|
|
+import java.util.concurrent.Future;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
/***
|
|
@@ -102,6 +106,8 @@ public class BatchHandleObjectServiceImpl extends BaseService implements BatchHa
|
|
|
|
|
|
private final ProjectDao projectDao;
|
|
|
|
|
|
+ private final ThreadPoolTaskExecutor taskExecutor;
|
|
|
+
|
|
|
|
|
|
/***
|
|
|
* Description: 下载模板接口
|
|
@@ -117,7 +123,7 @@ public class BatchHandleObjectServiceImpl extends BaseService implements BatchHa
|
|
|
// 下载Excel模板类
|
|
|
new DownloadService() {
|
|
|
@Override
|
|
|
- protected void handleWorkbook(Workbook workbook) {
|
|
|
+ protected void handleWorkbook(Workbook workbook) throws InterruptedException {
|
|
|
// 1.填充对象类数据
|
|
|
fillDataToWorkbook(workbook,groupCode);
|
|
|
}
|
|
@@ -576,7 +582,16 @@ public class BatchHandleObjectServiceImpl extends BaseService implements BatchHa
|
|
|
* @date :2021/9/22 10:23
|
|
|
* Update By lijie 2021/9/22 10:23
|
|
|
*/
|
|
|
- private void fillDataToWorkbook(Workbook workbook,String groupCode) {
|
|
|
+ private void fillDataToWorkbook(Workbook workbook,String groupCode) throws InterruptedException {
|
|
|
+// final CountDownLatch countDownLatch = new CountDownLatch(1);
|
|
|
+// taskExecutor.submit(() -> {
|
|
|
+// // 6.填充专业系统设备类,异步线程执行
|
|
|
+// try {
|
|
|
+// fillObjectClazzDataToWorkbook(workbook, groupCode);
|
|
|
+// }finally {
|
|
|
+// countDownLatch.countDown();
|
|
|
+// }
|
|
|
+// });
|
|
|
// 1.填充建筑功能类型
|
|
|
fillBuildFuncDataToWorkbook(workbook,groupCode);
|
|
|
// 2.设置建筑功能类型的下拉框-交给Excel自己实现
|
|
@@ -587,8 +602,9 @@ public class BatchHandleObjectServiceImpl extends BaseService implements BatchHa
|
|
|
fillSpaceZoneDataToWorkbook(workbook,groupCode);
|
|
|
// 5.填充空间功能类型
|
|
|
fillSpaceFuncTypesDataToWorkbook(workbook,groupCode);
|
|
|
- // 6.填充专业系统设备类
|
|
|
- fillObjectClazzDataToWorkbook(workbook,groupCode);
|
|
|
+ // 6.填充专业系统设备类,异步线程执行
|
|
|
+ fillObjectClazzDataToWorkbook(workbook, groupCode);
|
|
|
+ //countDownLatch.await(); //主线程挂起,直到CountDownLatch的值为0
|
|
|
}
|
|
|
/***
|
|
|
* Description: 填充专业系统设备类型
|