xiangpei
2024-10-10 8fa931b74e07ea783fa453367174f8b012e7bc52
ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java
@@ -33,6 +33,8 @@
import com.ycl.thread.PointImportCallable;
import com.ycl.utils.DateUtils;
import com.ycl.utils.SecurityUtils;
import com.ycl.utils.poi.EasyExcelImportUtils;
import constant.PointHeaderConstant;
import jakarta.servlet.http.HttpServletResponse;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.BeanUtils;
@@ -250,12 +252,12 @@
        }
        //定义表头列表
        LinkedHashSet<String> headers = new LinkedHashSet<>();
        headers.add("点位名称(可修改)");
        headers.add("国标码(不可修改)");
        headers.add("点位IP(可修改)");
        headers.add("是否省厅标签(可修改)");
        headers.add("是否重点指挥图像(可修改)");
        headers.add("是否部级标签(可修改)");
        headers.add(PointHeaderConstant.Point_Name);
        headers.add(PointHeaderConstant.Serial_Number);
        headers.add(PointHeaderConstant.IP);
        headers.add(PointHeaderConstant.Province_Tag);
        headers.add(PointHeaderConstant.Impotrant_Command_Image);
        headers.add(PointHeaderConstant.Dept_Tag);
        List<String> headersList = new LinkedList<>();
        if (!CollectionUtils.isEmpty(dynamicsHeaders)) {
            //使用链表保证后续补充数据时获取数据顺序一致
@@ -306,6 +308,7 @@
    @Override
    public Result importData(MultipartFile file, Integer unitId, Date startTime, Date endTime, Boolean
            needUpdateUnit) throws IOException {
//        List<Map<String,String>> list = EasyExcelImportUtils.makeData(file);
        Consumer<List<PointExport>> consumer = (dataList) -> {
            try {
                this.updatePoint(dataList, unitId, startTime, endTime, needUpdateUnit);
@@ -316,6 +319,14 @@
            }
        };
        EasyExcel.read(file.getInputStream(), PointExport.class, new CurrencyDataListener(consumer)).headRowNumber(1).doReadAll();
//        for (Map<String, String> map : list) {
//            PointExport pointExport = new PointExport();
//            pointExport.setPointName(map.get(PointHeaderConstant.Point_Name));
//            pointExport.setPointIP(map.get(PointHeaderConstant.IP));
//            pointExport.setSerialNumber(map.get(PointHeaderConstant.Serial_Number));
//        }
//        this.updatePoint(dataList, unitId, startTime, endTime, needUpdateUnit);
//        System.out.println(list);
        return Result.ok();
    }
@@ -360,21 +371,9 @@
        this.waitAllFinishAndGetResult(pointList);
    }
    public void waitAllFinishAndGetResult(List<YwPoint> dataList) throws
            InterruptedException, ExecutionException {
        int start = 0;
    public void waitAllFinishAndGetResult(List<YwPoint> dataList) {
        Date startTime = new Date();
        while (true) {
            if (dataList.size() < start + 800) {
                List<YwPoint> list = dataList.subList(start, dataList.size() - 1);
                this.baseMapper.updatePoint(list);
                break;
            } else {
                List<YwPoint> list = dataList.subList(start, start + 800);
                this.baseMapper.updatePoint(list);
                start += 800;
            }
        }
        this.baseMapper.updatePoint(dataList);
        Date endTime = new Date();
        log.error("总共耗时:" + (endTime.getTime() - startTime.getTime()));
    }