| | |
| | | package com.dji.sample.patches.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.dji.sample.common.model.Pagination; |
| | | import com.dji.sample.common.model.PaginationData; |
| | |
| | | import com.dji.sample.patches.model.Param.PatchesParam; |
| | | import com.dji.sample.patches.model.entity.LotInfo; |
| | | import com.dji.sample.patches.service.GetPatchesService; |
| | | import com.dji.sample.wayline.model.entity.WaylineFileEntity; |
| | | import com.dji.sample.patches.utils.DistrictCodeUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | | import java.util.stream.Collectors; |
| | | |
| | | @Service |
| | |
| | | |
| | | /** |
| | | * 分页获取数据的接口实现。 |
| | | * |
| | | * @param param 包含分页信息和查询条件的工作空间ID。 |
| | | * @return 返回一个包含查询结果和分页信息的PaginationData对象。 |
| | | */ |
| | | @Override |
| | | public PaginationData<LotInfo> limitGet(PatchesParam param) { |
| | | Page<LotInfo> page = mapper.selectPage(new Page<LotInfo>(param.getPage(), param.getPageSize()), |
| | | new LambdaQueryWrapper<LotInfo>() |
| | | .eq(LotInfo::getWorkspaceId,param.getWorkspaceId())); |
| | | List<LotInfo> records = page.getRecords() |
| | | // 创建分页对象 |
| | | Page<LotInfo> page = new Page<>(param.getPage(), param.getPageSize()); |
| | | |
| | | // 创建查询条件对象 |
| | | LambdaQueryWrapper<LotInfo> queryWrapper = new LambdaQueryWrapper<>(); |
| | | |
| | | // 添加查询条件 |
| | | queryWrapper.eq(LotInfo::getWorkspaceId, param.getWorkspaceId()); |
| | | |
| | | if (param.getDkbh() != null && !param.getDkbh().isEmpty()) { |
| | | queryWrapper.like(LotInfo::getDkbh, param.getDkbh()); |
| | | } |
| | | if (param.getInvestigate() != null) { |
| | | queryWrapper.eq(LotInfo::getInvestigate, param.getInvestigate()); |
| | | } |
| | | if (param.getDkbh() != null && !param.getDkbh().isEmpty()) { |
| | | queryWrapper.like(LotInfo::getDkbh, param.getDkbh()); |
| | | } |
| | | if (param.getXzqdm() != null && !param.getXzqdm().isEmpty()) { |
| | | queryWrapper.like(LotInfo::getXzqdm, param.getXzqdm()); |
| | | } |
| | | if (param.getXmc() != null && !param.getXmc().isEmpty()) { |
| | | queryWrapper.like(LotInfo::getXmc, param.getXmc()); |
| | | } |
| | | if (param.getBsm() != null && !param.getBsm().isEmpty()) { |
| | | queryWrapper.like(LotInfo::getXmc, param.getBsm()); |
| | | } |
| | | |
| | | // 执行分页查询 |
| | | Page<LotInfo> resultPage = mapper.selectPage(page, queryWrapper); |
| | | |
| | | // 处理查询结果 |
| | | List<LotInfo> records = resultPage.getRecords() |
| | | .stream() |
| | | .peek(lotInfo -> { |
| | | // 修改 xzqdm 字段的值 |
| | | lotInfo.setXmc(DistrictCodeUtils.codeToName(lotInfo.getXzqdm())); |
| | | }) |
| | | .collect(Collectors.toList()); |
| | | return new PaginationData<LotInfo>(records, new Pagination(page)); |
| | | |
| | | // 返回分页数据 |
| | | return new PaginationData<>(records, new Pagination(resultPage)); |
| | | } |
| | | @Override |
| | | public int delPatches(String workspaceId) { |
| | | return mapper.delete(new LambdaQueryWrapper<LotInfo>().eq(LotInfo::getWorkspaceId,workspaceId)); |
| | | } |
| | | |
| | | @Override |
| | | public void delPatches() { |
| | | mapper.delete(null); |
| | | public int deleteOne(int id) { |
| | | return mapper.deleteById(id); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 根据条件获取照片的分页数据 |
| | | * |
| | | * @param param 包含分页信息和查询条件的参数对象 |
| | | * @param dkbh 查询条件中带有地块编号关键字,用于文件名的模糊搜索 |
| | | * @param dkbh 查询条件中带有地块编号关键字,用于文件名的模糊搜索 |
| | | * @return 返回照片的分页数据,包括分页信息和照片实体列表 |
| | | */ |
| | | @Override |
| | | public PaginationData<MediaFileEntity> getPhoto(PatchesParam param,String dkbh) { |
| | | Page<MediaFileEntity> page=fileMapper.selectPage(new Page<MediaFileEntity>(param.getPage(), param.getPageSize()), |
| | | new LambdaQueryWrapper<MediaFileEntity>().like(MediaFileEntity::getFileName, "%" + dkbh + "%") ); |
| | | public PaginationData<MediaFileEntity> getPhoto(PatchesParam param, String dkbh) { |
| | | Page<MediaFileEntity> page = fileMapper.selectPage(new Page<MediaFileEntity>(param.getPage(), param.getPageSize()), |
| | | new LambdaQueryWrapper<MediaFileEntity>().like(MediaFileEntity::getFileName, "%" + dkbh + "~" + "%")); |
| | | List<MediaFileEntity> records = page.getRecords() |
| | | .stream() |
| | | .collect(Collectors.toList()); |
| | | return new PaginationData<MediaFileEntity>(records, new Pagination(page)); |
| | | } |
| | | |
| | | /** |
| | | * 根据条件获取照片的分页数据 |
| | | * |
| | | * @param workspaceId 工作空间的ID,用于指定查询的工作空间 |
| | | * @param dkbh 查询条件中带有地块编号关键字,用于文件名的模糊搜索 |
| | | * @param dkbh 查询条件中带有地块编号关键字,用于文件名的模糊搜索 |
| | | * @return 返回照片的分页数据,包括分页信息和照片实体列表 |
| | | */ |
| | | public List<MediaFileEntity> listPohto(String dkbh,String workspaceId){ |
| | | return fileMapper.selectList(new LambdaQueryWrapper<MediaFileEntity>().like(MediaFileEntity::getFileName, "%" + dkbh + "%") |
| | | .eq(MediaFileEntity::getWorkspaceId,workspaceId)); |
| | | public List<MediaFileEntity> listPohto(String dkbh, String workspaceId) { |
| | | return fileMapper.selectList(new LambdaQueryWrapper<MediaFileEntity>().like(MediaFileEntity::getFileName, "%" + dkbh + "%") |
| | | .eq(MediaFileEntity::getWorkspaceId, workspaceId)); |
| | | } |
| | | |
| | | /** |
| | | * 根据地块编号和工作空间ID获取地块信息。 |
| | | * @param dkbh 地块编号,用于查询特定定单的地块信息。 |
| | | * |
| | | * @param dkbh 地块编号,用于查询特定定单的地块信息。 |
| | | * @param workspaceId 工作空间ID,用于查询属于特定工作空间的地块信息。 |
| | | * @return 返回匹配给定地块编号和工作空间ID的地块信息对象。如果找不到匹配的记录,则返回null。 |
| | | */ |
| | | public LotInfo getLotinfo(String dkbh,String workspaceId) { |
| | | return mapper.selectOne(new LambdaQueryWrapper<LotInfo>().eq(LotInfo::getDkbh, dkbh) |
| | | public LotInfo getLotinfo(String dkbh, String workspaceId) { |
| | | return mapper.selectOne(new LambdaQueryWrapper<LotInfo>().eq(LotInfo::getDkbh, dkbh) |
| | | .eq(LotInfo::getWorkspaceId, workspaceId)); |
| | | } |
| | | |
| | | public LotInfo getLotinfoToDb(String dkbh) { |
| | | return mapper.selectOne(new LambdaQueryWrapper<LotInfo>().eq(LotInfo::getDkbh, dkbh)); |
| | | } |
| | | public List<LotInfo>listLotinfo(){ |
| | | |
| | | public List<LotInfo> listLotinfo() { |
| | | return mapper.selectList(null); |
| | | } |
| | | |
| | | @Override |
| | | public LotInfo getPatchesFromId(String patchesId){ |
| | | return mapper.selectOne(new LambdaQueryWrapper<LotInfo>().eq(LotInfo::getId,patchesId)); |
| | | } |
| | | @Override |
| | | public void insertLotinfo(List<LotInfo> list) { |
| | | for (int i = 0; i < list.size(); i++) { |