rain
2024-05-06 cbc15bffc95c486ec8fe67270d8d4e08de7b1407
src/main/java/com/dji/sample/patches/service/impl/ShpToDataSourceServiceImpl.java
@@ -1,13 +1,11 @@
package com.dji.sample.patches.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.dji.sample.patches.config.pojo.PatchesConfigPojo;
import com.dji.sample.patches.dao.ShpToDataSourceMapper;
import com.dji.sample.patches.model.entity.LotInfo;
import com.dji.sample.patches.service.ShpToDataSourceService;
import com.dji.sample.patches.utils.FormatConversionUtil;
import com.dji.sample.patches.utils.GeoToolsUtil;
import com.dji.sample.patches.utils.MultipartFileTOFileUtil;
import com.dji.sample.patches.utils.ShapeFileUtil;
import com.dji.sample.patches.utils.*;
import com.dji.sample.patches.xml.mode.XMLTemplateModel;
import com.dji.sample.patches.xml.utils.CreateWaylineFileUtils;
import com.dji.sample.territory.model.entity.TbDkjbxxEntity;
@@ -69,7 +67,7 @@
            lotInfo.setYzb(Double.valueOf(points[1]));
            shpToDataSourceMapper.insert(lotInfo);
        }
        Coordinate[] coordinates = GeoToolsUtil.getRoutePointOrder(list, airportLat, airportLon);
        List<PointPO> coordinates = GeoToolsUtil.getRoutePointOrder(list, airportLat, airportLon);
        XMLTemplateModel xmlModel = XMLTemplateModel.init(coordinates, list);
        CreateWaylineFileUtils.createWaylineFile(xmlModel, patchesConfigPojo.getTemplate(), patchesConfigPojo.getTargetTemplate(), patchesConfigPojo.getWaylines(), patchesConfigPojo.getTargetWaylines());
        // 压缩文件夹中的内容
@@ -90,6 +88,7 @@
        }
    }
    /**
     * 将SQlite数据库中DKJBXX对象转换为LotInfo对象。
     *
@@ -97,26 +96,20 @@
     * @return 返回一个构建好的LotInfo对象,包含从数据库实体中转换来的信息。
     */
    private LotInfo dbConvertToEntity(TbDkjbxxEntity file, String workspaceId) {
        double[] coordinates = extractCoordinates(pointCGCStoWGS(file.getXzb(), file.getYzb()));
        LotInfo.LotInfoBuilder builder = LotInfo.builder();
        builder.bsm(file.getBsm())
                .bz(file.getBz())
                .dkmj(file.getDkmj())
                .dkmc(file.getDkmc())
                .dkbh(file.getDkbh())
                .xmc(file.getXmc())
                .xzb(coordinates[0])
                .sfbhzdk(file.getSfbhzdk())
                .sjlx(file.getSjlx())
                .dkfw(poylonCGCStoWGS(file.getDkfw()))
                .xzqdm(file.getXzqdm())
                .yzb(coordinates[1])
                .kzxx(file.getKzxx())
                .dklx(file.getDklx())
        builder.bsm(file.getFId())
                .xzqdm(file.getFXzqdmsys())
                .dkbh(file.getFTbbh())
                .dkfw(file.getFShape())
                .workspaceId(workspaceId)
                .isplan(0)
                .build();
        return builder.build();
    }
    public List<LotInfo> getNoPlan(){
   return shpToDataSourceMapper.selectList(new LambdaQueryWrapper<LotInfo>().eq(LotInfo::getIsplan,0));
    }
}