元数据查询接口添加传感器类型、元数据类型、开始日期、结束日期参数
| | |
| | | import com.moon.server.helper.StringHelper; |
| | | import io.swagger.annotations.*; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.format.annotation.DateTimeFormat; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import javax.servlet.http.HttpServletRequest; |
| | |
| | | import java.net.URLDecoder; |
| | | import java.nio.charset.StandardCharsets; |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | /** |
| | |
| | | @ApiImplicitParam(name = "dircode", value = "目录编码", dataType = "String", paramType = "query", example = "00"), |
| | | @ApiImplicitParam(name = "verid", value = "版本ID", dataType = "Integer", paramType = "query", example = "0"), |
| | | @ApiImplicitParam(name = "name", value = "名称", dataType = "String", paramType = "query", example = ""), |
| | | @ApiImplicitParam(name = "sensorType", value = "传感器类型", dataType = "Integer", paramType = "query", example = "0"), |
| | | @ApiImplicitParam(name = "mataType", value = "元数据类型", dataType = "Integer", paramType = "query", example = "0"), |
| | | @ApiImplicitParam(name = "startDate", value = "开始日期", dataType = "Date", paramType = "query", example = "0"), |
| | | @ApiImplicitParam(name = "endDate", value = "结束日期", dataType = "Date", paramType = "query", example = "0"), |
| | | @ApiImplicitParam(name = "wkt", value = "WKT字符串", dataType = "String", paramType = "query", example = "gAPpDbZ53XfoQfvT8dj/uhBWX5os8kBJQ1LrNvH3VX7byFQdUJMPiEr8Fkj0q2i1pw+L8KFrvR0MLXq2xaO21nlQQXmEPofJxpDQZwEWUIFZsToXo1kLRD3t6WQezxWB8YTzXHM20Ba73x/ZuuezVhOFOq1U8HKf1dXQdv7gBzEB6fWMmFDc3FuH8GDDHv3LfT86Gio9VgMO6ohlrUdf3ZKtTHeLSuzGF4t0RZuX97YBNo25IIzpeTfRTXBxfdxA"), |
| | | @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "Integer", paramType = "query", example = "10"), |
| | | @ApiImplicitParam(name = "pageIndex", value = "分页数(从1开始)", dataType = "Integer", paramType = "query", example = "1") |
| | | }) |
| | | @GetMapping(value = "/selectByPageAndCount") |
| | | public ResponseMsg<List<MetaEntity>> selectByPageAndCount(String depcode, String dircode, Integer verid, String name, String wkt, Integer pageSize, Integer pageIndex) { |
| | | public ResponseMsg<List<MetaEntity>> selectByPageAndCount(String depcode, String dircode, Integer verid, String name, Integer sensorType, Integer mataType, @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date startDate, @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date endDate, String wkt, Integer pageSize, Integer pageIndex) { |
| | | try { |
| | | if (pageSize < 1 || pageIndex < 1) { |
| | | return fail("每页页数或分页数小于1", null); |
| | | } |
| | | if (startDate != null && endDate != null && startDate.getTime() > endDate.getTime()) { |
| | | Date tmp = startDate; |
| | | startDate = endDate; |
| | | endDate = tmp; |
| | | } |
| | | wkt = metaService.getGeometryFilter(wkt); |
| | | |
| | | int count = metaService.selectCount(depcode, dircode, verid, name, wkt); |
| | | int count = metaService.selectCount(depcode, dircode, verid, name, sensorType, mataType, startDate, endDate, wkt); |
| | | if (count == 0) { |
| | | return success(0, null); |
| | | } |
| | | |
| | | List<MetaEntity> rs = metaService.selectByPage(depcode, dircode, verid, name, wkt, pageSize, pageSize * (pageIndex - 1)); |
| | | List<MetaEntity> rs = metaService.selectByPage(depcode, dircode, verid, name, sensorType, mataType, startDate, endDate, wkt, pageSize, pageSize * (pageIndex - 1)); |
| | | |
| | | return success(count, rs); |
| | | } catch (Exception ex) { |
| | |
| | | |
| | | public final static String MOON200 = "GCS_Moon_2000"; |
| | | |
| | | public final static List<String> EPSGS = new ArrayList<>(Arrays.asList("EPSG:4326", "EPSG:4490", "ESRI:104903")); |
| | | public final static List<String> EPSGS = new ArrayList<>(Arrays.asList("EPSG:4326", "EPSG:4490", "EPSG:104903")); |
| | | |
| | | /** |
| | | * 16进制 |
| | |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | import org.springframework.stereotype.Repository; |
| | | |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | /** |
| | |
| | | * @param dircode 目录编码 |
| | | * @param verid 版本ID |
| | | * @param name 名称 |
| | | * @param sensorType 传感器类型 |
| | | * @param mataType 元数据类型 |
| | | * @param startDate 开始日期 |
| | | * @param endDate 结束日期 |
| | | * @param wkt WKT |
| | | * @return 记录数 |
| | | */ |
| | | public Integer selectCount(String depcode, String dircode, Integer verid, String name, String wkt); |
| | | public Integer selectCount(String depcode, String dircode, Integer verid, String name, Integer sensorType, Integer mataType, Date startDate, Date endDate, String wkt); |
| | | |
| | | /** |
| | | * 分页查询 |
| | |
| | | * @param dircode 目录编码 |
| | | * @param verid 版本ID |
| | | * @param name 名称 |
| | | * @param sensorType 传感器类型 |
| | | * @param mataType 元数据类型 |
| | | * @param startDate 开始日期 |
| | | * @param endDate 结束日期 |
| | | * @param wkt WKT |
| | | * @param limit 记录数 |
| | | * @param offset 偏移量 |
| | | * @return 列表 |
| | | */ |
| | | public List<MetaEntity> selectByPage(String depcode, String dircode, Integer verid, String name, String wkt, Integer limit, Integer offset); |
| | | public List<MetaEntity> selectByPage(String depcode, String dircode, Integer verid, String name, Integer sensorType, Integer mataType, Date startDate, Date endDate, String wkt, Integer limit, Integer offset); |
| | | |
| | | /** |
| | | * 根据GUID查询GDB |
| | |
| | | private final static Log log = LogFactory.getLog(MetaService.class); |
| | | |
| | | @Override |
| | | public Integer selectCount(String depcode, String dircode, Integer verid, String name, String wkt) { |
| | | public Integer selectCount(String depcode, String dircode, Integer verid, String name, Integer sensorType, Integer mataType, Date startDate, Date endDate, String wkt) { |
| | | depcode = StringHelper.getRightLike(depcode); |
| | | dircode = StringHelper.getRightLike(dircode); |
| | | name = StringHelper.getLikeUpperStr(name); |
| | | |
| | | return metaMapper.selectCount(depcode, dircode, verid, name, wkt); |
| | | return metaMapper.selectCount(depcode, dircode, verid, name, sensorType, mataType, startDate, endDate, wkt); |
| | | } |
| | | |
| | | @Override |
| | | public List<MetaEntity> selectByPage(String depcode, String dircode, Integer verid, String name, String wkt, Integer limit, Integer offset) { |
| | | public List<MetaEntity> selectByPage(String depcode, String dircode, Integer verid, String name, Integer sensorType, Integer mataType, Date startDate, Date endDate, String wkt, Integer limit, Integer offset) { |
| | | depcode = StringHelper.getRightLike(depcode); |
| | | dircode = StringHelper.getRightLike(dircode); |
| | | name = StringHelper.getLikeUpperStr(name); |
| | | |
| | | return metaMapper.selectByPage(depcode, dircode, verid, name, wkt, limit, offset); |
| | | return metaMapper.selectByPage(depcode, dircode, verid, name, sensorType, mataType, startDate, endDate, wkt, limit, offset); |
| | | } |
| | | |
| | | @Override |
| | |
| | | mf.setCoorSys(sr.GetName()); |
| | | if (StaticData.MOON200.equals(mf.getCoorSys())) { |
| | | // EPSG编码 |
| | | mf.setEpsg("ESRI:" + StaticData.I104903); |
| | | mf.setEpsg("EPSG:" + StaticData.I104903); |
| | | } else { |
| | | // EPSG编码:PROJCS、GEOGCS、GEOGCS|UNIT 或 NULL |
| | | String code = sr.GetAuthorityCode(null); |
| | |
| | | <if test="name != null"> |
| | | and upper(name) like #{name} |
| | | </if> |
| | | <if test="sensorType != null"> |
| | | and sensortype = #{sensorType} |
| | | </if> |
| | | <if test="mataType != null"> |
| | | and mata_type = #{mataType} |
| | | </if> |
| | | <if test="startDate != null"> |
| | | and acq_time >= #{startDate} |
| | | </if> |
| | | <if test="endDate != null"> |
| | | and acq_time <= #{endDate} |
| | | </if> |
| | | <if test="wkt != null"> |
| | | and ${wkt} |
| | | </if> |
| | |
| | | <if test="name != null"> |
| | | and upper(name) like #{name} |
| | | </if> |
| | | <if test="sensorType != null"> |
| | | and sensortype = #{sensorType} |
| | | </if> |
| | | <if test="mataType != null"> |
| | | and mata_type = #{mataType} |
| | | </if> |
| | | <if test="startDate != null"> |
| | | and acq_time >= #{startDate} |
| | | </if> |
| | | <if test="endDate != null"> |
| | | and acq_time <= #{endDate} |
| | | </if> |
| | | <if test="wkt != null"> |
| | | and ${wkt} |
| | | </if> |