Browse Source

feature 代码提交

xiahan 2 tháng trước cách đây
mục cha
commit
7663dc6a39

+ 13 - 8
zhsw-common/src/main/java/com/rongwei/zhsw/system/service/impl/ImportExcelServiceImpl.java

@@ -7,6 +7,7 @@ import com.rongwe.zhsw.system.domain.SwWaterUsageEntryDo;
 import com.rongwe.zhsw.system.vo.ImportMeterReadingRecordVo;
 import com.rongwei.rwadmincommon.system.vo.SysUserVo;
 import com.rongwei.rwcommon.base.R;
+import com.rongwei.rwcommon.base.exception.CustomException;
 import com.rongwei.rwcommoncomponent.file.dao.SysFileItemDao;
 import com.rongwei.rwcommonentity.commonservers.domain.SysFileItemDo;
 import com.rongwei.zhsw.system.config.ContextHolder;
@@ -24,7 +25,6 @@ import org.springframework.stereotype.Service;
 import java.io.File;
 import java.util.List;
 import java.util.Map;
-import java.util.concurrent.CompletableFuture;
 import java.util.concurrent.Executor;
 
 import static com.rongwei.rwcommon.utils.UtilsChecks.parameterCheck;
@@ -67,14 +67,19 @@ public class ImportExcelServiceImpl implements ImportExcelService {
         File file = readFile(fileId);
         // 数据读取
         long startTime = System.currentTimeMillis();
-        MeterReadingRecordListener meterReadingRecordListener = new MeterReadingRecordListener(userManagementService, waterUsageEntryService);
-        EasyExcel.read(file, ImportMeterReadingRecordVo.class, meterReadingRecordListener).sheet().doRead();
+        MeterReadingRecordListener meterReadingRecordListener;
+        try {
+            meterReadingRecordListener = new MeterReadingRecordListener(userManagementService, waterUsageEntryService);
+            EasyExcel.read(file, ImportMeterReadingRecordVo.class, meterReadingRecordListener).sheet().doRead();
+        } catch (Exception e) {
+            return R.error(e.getMessage());
+        }
         // 获取处理之后的数据
         long entTime = System.currentTimeMillis();
         log.error("excel解析时长:{}", startTime - entTime);
         List<SwWaterUsageEntryDo> saveList = meterReadingRecordListener.getData();
-        if(saveList.isEmpty()) {
-          return  R.error("excel为空或excel中的数据已导入过");
+        if (saveList.isEmpty()) {
+            return R.error("excel为空或excel中的数据已导入过");
         }
         Map<String, SwUserManagementDo> ownerMap = meterReadingRecordListener.getOwnerMap();
         SysUserVo currentUser = ZHSWCommonUtils.getCurrentUser();
@@ -106,9 +111,9 @@ public class ImportExcelServiceImpl implements ImportExcelService {
         //                 .toArray(CompletableFuture[]::new)
         // );
         // allFutures.thenRun(() -> {
-            ContextHolder.setValue("dsKey", dskey);
-            billGenerationService.asyncGenerateBill(saveList, ownerMap); // 同步生成账单
-            log.debug("数据保存总耗时: {}ms", System.currentTimeMillis() - asyncTasksStart);
+        ContextHolder.setValue("dsKey", dskey);
+        billGenerationService.asyncGenerateBill(saveList, ownerMap); // 同步生成账单
+        log.debug("数据保存总耗时: {}ms", System.currentTimeMillis() - asyncTasksStart);
         // });
     }