增加车辆,gps接口

This commit is contained in:
zhangyue 2026-07-31 18:29:04 +08:00
parent 1510eb42cf
commit 0b0f3c1dcc
22 changed files with 1405 additions and 7 deletions

View File

@ -89,6 +89,9 @@ public class MybatisPlusSaasConfig {
TENANT_TABLE.add("surv_transdata_soil");
TENANT_TABLE.add("surv_transdata_vocs");
TENANT_TABLE.add("surv_transdata_vocs_min");
TENANT_TABLE.add("surv_gps_info");
TENANT_TABLE.add("surv_gps_record");
TENANT_TABLE.add("surv_vehicle_info");
}
//2.示例测试

View File

@ -12,9 +12,9 @@ import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.constant.enums.PollutionEnum;
import org.jeecg.common.entity.SurvAlertRecord;
import org.jeecg.common.entity.SurvDeviceDeploy;
import org.jeecg.common.entity.SurvMaintainRecord;
import org.jeecg.common.dto.GpsRecordDTO;
import org.jeecg.common.dto.VehicleDTO;
import org.jeecg.common.entity.*;
import org.jeecg.common.iot.common.VOIntegrateStatistic;
import org.jeecg.common.util.R;
import org.jeecg.common.vo.VOBigScreenSurvQ;
@ -22,9 +22,7 @@ import org.jeecg.common.vo.VOHisFormResult;
import org.jeecg.common.vo.VOHisResult;
import org.jeecg.common.vo.params.StationMaintainPage;
import org.jeecg.common.vo.statistic.DeploySummaryVo;
import org.jeecg.modules.appmana.service.ISurvAlertRecordService;
import org.jeecg.modules.appmana.service.ISurvDeviceDeployService;
import org.jeecg.modules.appmana.service.ISurvMaintainRecordService;
import org.jeecg.modules.appmana.service.*;
import org.jeecg.modules.appmana.service.impl.CommonServiceImpl;
import org.jeecg.modules.appmana.service.impl.IotCommonP2ServiceImpl;
import org.jeecg.modules.appmana.service.impl.IotCommonP3ServiceImpl;
@ -57,6 +55,10 @@ public class BigScreenControllerP2 {
private ISurvMaintainRecordService maintainRecordService;
@Autowired
private ISurvAlertRecordService alertRecordService;
@Autowired
private ISurvVehicleInfoService survVehicleInfoService;
@Autowired
private ISurvGpsRecordService survGpsRecordService;
@ApiOperationSupport(order = 1)
@ApiOperation(value = "01. 查询设备下各检测项的历史数据", notes = "")
@ -146,7 +148,7 @@ public class BigScreenControllerP2 {
@GetMapping("/alertRecord")
@GetMapping("/04.alertRecord")
@ApiOperation("获取预警数据")
public Result<IPage<SurvAlertRecord>> getAlertRecord(@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
@ -169,4 +171,23 @@ public class BigScreenControllerP2 {
IPage<SurvAlertRecord> pageList = alertRecordService.pageByDevice(page, allList,yearStr);
return Result.OK(pageList);
}
@ApiOperationSupport(order = 5)
@ApiOperation(value = "05. 查询车辆列表", notes = "")
@PostMapping(value = "/vehicleList")
public Result<IPage<SurvVehicleInfo>> vehicleList(@RequestBody VehicleDTO vehicleDTO) {
commonService.getTenantId(vehicleDTO.getAuthId());
IPage<SurvVehicleInfo> vehicleInfos = survVehicleInfoService.getVechicleList(vehicleDTO);
return Result.OK(vehicleInfos);
}
@ApiOperationSupport(order = 6)
@ApiOperation(value = "06. 查询gps记录", notes = "")
@PostMapping(value = "/gpsRecordPage")
public Result<IPage<SurvGpsRecord>> gpsRecordPage(@RequestBody GpsRecordDTO gpsRecordDTO) {
commonService.getTenantId(gpsRecordDTO.getAuthId());
IPage<SurvGpsRecord> records = survGpsRecordService.pages(gpsRecordDTO);
return Result.OK(records);
}
}

View File

@ -0,0 +1,189 @@
package org.jeecg.modules.appmana.controller;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.common.util.oConvertUtils;
import org.jeecg.common.entity.SurvGpsInfo;
import org.jeecg.modules.appmana.service.ISurvGpsInfoService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.extern.slf4j.Slf4j;
import org.jeecgframework.poi.excel.ExcelImportUtil;
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
import org.jeecgframework.poi.excel.entity.ExportParams;
import org.jeecgframework.poi.excel.entity.ImportParams;
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
import org.jeecg.common.system.base.controller.JeecgController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.ModelAndView;
import com.alibaba.fastjson.JSON;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.jeecg.common.aspect.annotation.AutoLog;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.jeecg.common.system.util.JwtUtil;
/**
* @Description: gps轨迹
* @Author: jeecg-boot
* @Date: 2026-07-31
* @Version: V1.0
*/
@Api(tags="gps轨迹")
@RestController
@RequestMapping("/iot/survGpsInfo")
@Slf4j
public class SurvGpsInfoController extends JeecgController<SurvGpsInfo, ISurvGpsInfoService> {
@Autowired
private ISurvGpsInfoService survGpsInfoService;
/**
* 分页列表查询
*
* @param survGpsInfo
* @param pageNo
* @param pageSize
* @param req
* @return
*/
//@AutoLog(value = "gps轨迹-分页列表查询")
@ApiOperation(value="gps轨迹-分页列表查询", notes="gps轨迹-分页列表查询")
@GetMapping(value = "/list")
public Result<IPage<SurvGpsInfo>> queryPageList(SurvGpsInfo survGpsInfo,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<SurvGpsInfo> queryWrapper = QueryGenerator.initQueryWrapper(survGpsInfo, req.getParameterMap());
Page<SurvGpsInfo> page = new Page<SurvGpsInfo>(pageNo, pageSize);
IPage<SurvGpsInfo> pageList = survGpsInfoService.page(page, queryWrapper);
return Result.OK(pageList);
}
/**
* 添加
*
* @param survGpsInfo
* @return
*/
@AutoLog(value = "gps轨迹-添加")
@ApiOperation(value="gps轨迹-添加", notes="gps轨迹-添加")
//@RequiresPermissions("iot:surv_gps_info:add")
@PostMapping(value = "/add")
public Result<String> add(@RequestBody SurvGpsInfo survGpsInfo, HttpServletRequest request) {
String username = JwtUtil.getUserNameByToken(request);
survGpsInfo.setCreateBy(username);
survGpsInfo.setCreateTime(new Date());
survGpsInfoService.save(survGpsInfo);
return Result.OK("添加成功!");
}
/**
* 编辑
*
* @param survGpsInfo
* @return
*/
@AutoLog(value = "gps轨迹-编辑")
@ApiOperation(value="gps轨迹-编辑", notes="gps轨迹-编辑")
//@RequiresPermissions("iot:surv_gps_info:edit")
@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
public Result<String> edit(@RequestBody SurvGpsInfo survGpsInfo, HttpServletRequest request) {
//创建更新时间不能编辑
survGpsInfo.setCreateTime(null);
survGpsInfo.setUpdateTime(null);
String username = JwtUtil.getUserNameByToken(request);
survGpsInfo.setUpdateBy(username);
survGpsInfoService.updateById(survGpsInfo);
return Result.OK("编辑成功!");
}
/**
* 通过id删除
*
* @param id
* @return
*/
@AutoLog(value = "gps轨迹-通过id删除")
@ApiOperation(value="gps轨迹-通过id删除", notes="gps轨迹-通过id删除")
//@RequiresPermissions("iot:surv_gps_info:delete")
@DeleteMapping(value = "/delete")
public Result<String> delete(@RequestParam(name="id",required=true) String id) {
survGpsInfoService.removeById(id);
return Result.OK("删除成功!");
}
/**
* 批量删除
*
* @param ids
* @return
*/
@AutoLog(value = "gps轨迹-批量删除")
@ApiOperation(value="gps轨迹-批量删除", notes="gps轨迹-批量删除")
//@RequiresPermissions("iot:surv_gps_info:deleteBatch")
@DeleteMapping(value = "/deleteBatch")
public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
this.survGpsInfoService.removeByIds(Arrays.asList(ids.split(",")));
return Result.OK("批量删除成功!");
}
/**
* 通过id查询
*
* @param id
* @return
*/
//@AutoLog(value = "gps轨迹-通过id查询")
@ApiOperation(value="gps轨迹-通过id查询", notes="gps轨迹-通过id查询")
@GetMapping(value = "/queryById")
public Result<SurvGpsInfo> queryById(@RequestParam(name="id",required=true) String id) {
SurvGpsInfo survGpsInfo = survGpsInfoService.getById(id);
if(survGpsInfo==null) {
return Result.error("未找到对应数据");
}
return Result.OK(survGpsInfo);
}
/**
* 导出excel
*
* @param request
* @param survGpsInfo
*/
//@RequiresPermissions("iot:surv_gps_info:exportXls")
@RequestMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, SurvGpsInfo survGpsInfo) {
return super.exportXls(request, survGpsInfo, SurvGpsInfo.class, "gps轨迹");
}
/**
* 通过excel导入数据
*
* @param request
* @param response
* @return
*/
//@RequiresPermissions("iot:surv_gps_info:importExcel")
@RequestMapping(value = "/importExcel", method = RequestMethod.POST)
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
return super.importExcel(request, response, SurvGpsInfo.class);
}
}

View File

@ -0,0 +1,189 @@
package org.jeecg.modules.appmana.controller;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.common.util.oConvertUtils;
import org.jeecg.common.entity.SurvGpsRecord;
import org.jeecg.modules.appmana.service.ISurvGpsRecordService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.extern.slf4j.Slf4j;
import org.jeecgframework.poi.excel.ExcelImportUtil;
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
import org.jeecgframework.poi.excel.entity.ExportParams;
import org.jeecgframework.poi.excel.entity.ImportParams;
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
import org.jeecg.common.system.base.controller.JeecgController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.ModelAndView;
import com.alibaba.fastjson.JSON;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.jeecg.common.aspect.annotation.AutoLog;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.jeecg.common.system.util.JwtUtil;
/**
* @Description: gps设备
* @Author: jeecg-boot
* @Date: 2026-07-31
* @Version: V1.0
*/
@Api(tags="gps设备")
@RestController
@RequestMapping("/iot/survGpsRecord")
@Slf4j
public class SurvGpsRecordController extends JeecgController<SurvGpsRecord, ISurvGpsRecordService> {
@Autowired
private ISurvGpsRecordService survGpsRecordService;
/**
* 分页列表查询
*
* @param survGpsRecord
* @param pageNo
* @param pageSize
* @param req
* @return
*/
//@AutoLog(value = "gps设备-分页列表查询")
@ApiOperation(value="gps设备-分页列表查询", notes="gps设备-分页列表查询")
@GetMapping(value = "/list")
public Result<IPage<SurvGpsRecord>> queryPageList(SurvGpsRecord survGpsRecord,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<SurvGpsRecord> queryWrapper = QueryGenerator.initQueryWrapper(survGpsRecord, req.getParameterMap());
Page<SurvGpsRecord> page = new Page<SurvGpsRecord>(pageNo, pageSize);
IPage<SurvGpsRecord> pageList = survGpsRecordService.page(page, queryWrapper);
return Result.OK(pageList);
}
/**
* 添加
*
* @param survGpsRecord
* @return
*/
@AutoLog(value = "gps设备-添加")
@ApiOperation(value="gps设备-添加", notes="gps设备-添加")
//@RequiresPermissions("iot:surv_gps_record:add")
@PostMapping(value = "/add")
public Result<String> add(@RequestBody SurvGpsRecord survGpsRecord, HttpServletRequest request) {
String username = JwtUtil.getUserNameByToken(request);
survGpsRecord.setCreateBy(username);
survGpsRecord.setCreateTime(new Date());
survGpsRecordService.save(survGpsRecord);
return Result.OK("添加成功!");
}
/**
* 编辑
*
* @param survGpsRecord
* @return
*/
@AutoLog(value = "gps设备-编辑")
@ApiOperation(value="gps设备-编辑", notes="gps设备-编辑")
//@RequiresPermissions("iot:surv_gps_record:edit")
@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
public Result<String> edit(@RequestBody SurvGpsRecord survGpsRecord, HttpServletRequest request) {
//创建更新时间不能编辑
survGpsRecord.setCreateTime(null);
survGpsRecord.setUpdateTime(null);
String username = JwtUtil.getUserNameByToken(request);
survGpsRecord.setUpdateBy(username);
survGpsRecordService.updateById(survGpsRecord);
return Result.OK("编辑成功!");
}
/**
* 通过id删除
*
* @param id
* @return
*/
@AutoLog(value = "gps设备-通过id删除")
@ApiOperation(value="gps设备-通过id删除", notes="gps设备-通过id删除")
//@RequiresPermissions("iot:surv_gps_record:delete")
@DeleteMapping(value = "/delete")
public Result<String> delete(@RequestParam(name="id",required=true) String id) {
survGpsRecordService.removeById(id);
return Result.OK("删除成功!");
}
/**
* 批量删除
*
* @param ids
* @return
*/
@AutoLog(value = "gps设备-批量删除")
@ApiOperation(value="gps设备-批量删除", notes="gps设备-批量删除")
//@RequiresPermissions("iot:surv_gps_record:deleteBatch")
@DeleteMapping(value = "/deleteBatch")
public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
this.survGpsRecordService.removeByIds(Arrays.asList(ids.split(",")));
return Result.OK("批量删除成功!");
}
/**
* 通过id查询
*
* @param id
* @return
*/
//@AutoLog(value = "gps设备-通过id查询")
@ApiOperation(value="gps设备-通过id查询", notes="gps设备-通过id查询")
@GetMapping(value = "/queryById")
public Result<SurvGpsRecord> queryById(@RequestParam(name="id",required=true) String id) {
SurvGpsRecord survGpsRecord = survGpsRecordService.getById(id);
if(survGpsRecord==null) {
return Result.error("未找到对应数据");
}
return Result.OK(survGpsRecord);
}
/**
* 导出excel
*
* @param request
* @param survGpsRecord
*/
//@RequiresPermissions("iot:surv_gps_record:exportXls")
@RequestMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, SurvGpsRecord survGpsRecord) {
return super.exportXls(request, survGpsRecord, SurvGpsRecord.class, "gps设备");
}
/**
* 通过excel导入数据
*
* @param request
* @param response
* @return
*/
//@RequiresPermissions("iot:surv_gps_record:importExcel")
@RequestMapping(value = "/importExcel", method = RequestMethod.POST)
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
return super.importExcel(request, response, SurvGpsRecord.class);
}
}

View File

@ -0,0 +1,189 @@
package org.jeecg.modules.appmana.controller;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.common.util.oConvertUtils;
import org.jeecg.common.entity.SurvVehicleInfo;
import org.jeecg.modules.appmana.service.ISurvVehicleInfoService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.extern.slf4j.Slf4j;
import org.jeecgframework.poi.excel.ExcelImportUtil;
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
import org.jeecgframework.poi.excel.entity.ExportParams;
import org.jeecgframework.poi.excel.entity.ImportParams;
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
import org.jeecg.common.system.base.controller.JeecgController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.ModelAndView;
import com.alibaba.fastjson.JSON;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.jeecg.common.aspect.annotation.AutoLog;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.jeecg.common.system.util.JwtUtil;
/**
* @Description: surv_vehicle_info
* @Author: jeecg-boot
* @Date: 2026-07-31
* @Version: V1.0
*/
@Api(tags="surv_vehicle_info")
@RestController
@RequestMapping("/iot/survVehicleInfo")
@Slf4j
public class SurvVehicleInfoController extends JeecgController<SurvVehicleInfo, ISurvVehicleInfoService> {
@Autowired
private ISurvVehicleInfoService survVehicleInfoService;
/**
* 分页列表查询
*
* @param survVehicleInfo
* @param pageNo
* @param pageSize
* @param req
* @return
*/
//@AutoLog(value = "surv_vehicle_info-分页列表查询")
@ApiOperation(value="surv_vehicle_info-分页列表查询", notes="surv_vehicle_info-分页列表查询")
@GetMapping(value = "/list")
public Result<IPage<SurvVehicleInfo>> queryPageList(SurvVehicleInfo survVehicleInfo,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<SurvVehicleInfo> queryWrapper = QueryGenerator.initQueryWrapper(survVehicleInfo, req.getParameterMap());
Page<SurvVehicleInfo> page = new Page<SurvVehicleInfo>(pageNo, pageSize);
IPage<SurvVehicleInfo> pageList = survVehicleInfoService.page(page, queryWrapper);
return Result.OK(pageList);
}
/**
* 添加
*
* @param survVehicleInfo
* @return
*/
@AutoLog(value = "surv_vehicle_info-添加")
@ApiOperation(value="surv_vehicle_info-添加", notes="surv_vehicle_info-添加")
//@RequiresPermissions("iot:surv_vehicle_info:add")
@PostMapping(value = "/add")
public Result<String> add(@RequestBody SurvVehicleInfo survVehicleInfo, HttpServletRequest request) {
String username = JwtUtil.getUserNameByToken(request);
survVehicleInfo.setCreateBy(username);
survVehicleInfo.setCreateTime(new Date());
survVehicleInfoService.save(survVehicleInfo);
return Result.OK("添加成功!");
}
/**
* 编辑
*
* @param survVehicleInfo
* @return
*/
@AutoLog(value = "surv_vehicle_info-编辑")
@ApiOperation(value="surv_vehicle_info-编辑", notes="surv_vehicle_info-编辑")
//@RequiresPermissions("iot:surv_vehicle_info:edit")
@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
public Result<String> edit(@RequestBody SurvVehicleInfo survVehicleInfo, HttpServletRequest request) {
//创建更新时间不能编辑
survVehicleInfo.setCreateTime(null);
survVehicleInfo.setUpdateTime(null);
String username = JwtUtil.getUserNameByToken(request);
survVehicleInfo.setUpdateBy(username);
survVehicleInfoService.updateById(survVehicleInfo);
return Result.OK("编辑成功!");
}
/**
* 通过id删除
*
* @param id
* @return
*/
@AutoLog(value = "surv_vehicle_info-通过id删除")
@ApiOperation(value="surv_vehicle_info-通过id删除", notes="surv_vehicle_info-通过id删除")
//@RequiresPermissions("iot:surv_vehicle_info:delete")
@DeleteMapping(value = "/delete")
public Result<String> delete(@RequestParam(name="id",required=true) String id) {
survVehicleInfoService.removeById(id);
return Result.OK("删除成功!");
}
/**
* 批量删除
*
* @param ids
* @return
*/
@AutoLog(value = "surv_vehicle_info-批量删除")
@ApiOperation(value="surv_vehicle_info-批量删除", notes="surv_vehicle_info-批量删除")
//@RequiresPermissions("iot:surv_vehicle_info:deleteBatch")
@DeleteMapping(value = "/deleteBatch")
public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
this.survVehicleInfoService.removeByIds(Arrays.asList(ids.split(",")));
return Result.OK("批量删除成功!");
}
/**
* 通过id查询
*
* @param id
* @return
*/
//@AutoLog(value = "surv_vehicle_info-通过id查询")
@ApiOperation(value="surv_vehicle_info-通过id查询", notes="surv_vehicle_info-通过id查询")
@GetMapping(value = "/queryById")
public Result<SurvVehicleInfo> queryById(@RequestParam(name="id",required=true) String id) {
SurvVehicleInfo survVehicleInfo = survVehicleInfoService.getById(id);
if(survVehicleInfo==null) {
return Result.error("未找到对应数据");
}
return Result.OK(survVehicleInfo);
}
/**
* 导出excel
*
* @param request
* @param survVehicleInfo
*/
//@RequiresPermissions("iot:surv_vehicle_info:exportXls")
@RequestMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, SurvVehicleInfo survVehicleInfo) {
return super.exportXls(request, survVehicleInfo, SurvVehicleInfo.class, "surv_vehicle_info");
}
/**
* 通过excel导入数据
*
* @param request
* @param response
* @return
*/
//@RequiresPermissions("iot:surv_vehicle_info:importExcel")
@RequestMapping(value = "/importExcel", method = RequestMethod.POST)
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
return super.importExcel(request, response, SurvVehicleInfo.class);
}
}

View File

@ -0,0 +1,17 @@
package org.jeecg.modules.appmana.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import org.jeecg.common.entity.SurvGpsInfo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @Description: gps轨迹
* @Author: jeecg-boot
* @Date: 2026-07-31
* @Version: V1.0
*/
public interface SurvGpsInfoMapper extends BaseMapper<SurvGpsInfo> {
}

View File

@ -0,0 +1,17 @@
package org.jeecg.modules.appmana.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import org.jeecg.common.entity.SurvGpsRecord;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @Description: gps设备
* @Author: jeecg-boot
* @Date: 2026-07-31
* @Version: V1.0
*/
public interface SurvGpsRecordMapper extends BaseMapper<SurvGpsRecord> {
}

View File

@ -0,0 +1,17 @@
package org.jeecg.modules.appmana.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import org.jeecg.common.entity.SurvVehicleInfo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @Description: surv_vehicle_info
* @Author: jeecg-boot
* @Date: 2026-07-31
* @Version: V1.0
*/
public interface SurvVehicleInfoMapper extends BaseMapper<SurvVehicleInfo> {
}

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.jeecg.modules.appmana.mapper.SurvGpsInfoMapper">
</mapper>

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.jeecg.modules.appmana.mapper.SurvGpsRecordMapper">
</mapper>

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.jeecg.modules.appmana.mapper.SurvVehicleInfoMapper">
</mapper>

View File

@ -0,0 +1,14 @@
package org.jeecg.modules.appmana.service;
import org.jeecg.common.entity.SurvGpsInfo;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* @Description: gps轨迹
* @Author: jeecg-boot
* @Date: 2026-07-31
* @Version: V1.0
*/
public interface ISurvGpsInfoService extends IService<SurvGpsInfo> {
}

View File

@ -0,0 +1,17 @@
package org.jeecg.modules.appmana.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.jeecg.common.dto.GpsRecordDTO;
import org.jeecg.common.entity.SurvGpsRecord;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* @Description: gps设备
* @Author: jeecg-boot
* @Date: 2026-07-31
* @Version: V1.0
*/
public interface ISurvGpsRecordService extends IService<SurvGpsRecord> {
IPage<SurvGpsRecord> pages(GpsRecordDTO gpsRecordDTO);
}

View File

@ -0,0 +1,19 @@
package org.jeecg.modules.appmana.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.jeecg.common.dto.VehicleDTO;
import org.jeecg.common.entity.SurvVehicleInfo;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
* @Description: surv_vehicle_info
* @Author: jeecg-boot
* @Date: 2026-07-31
* @Version: V1.0
*/
public interface ISurvVehicleInfoService extends IService<SurvVehicleInfo> {
IPage<SurvVehicleInfo> getVechicleList(VehicleDTO vehicleDTO);
}

View File

@ -0,0 +1,19 @@
package org.jeecg.modules.appmana.service.impl;
import org.jeecg.common.entity.SurvGpsInfo;
import org.jeecg.modules.appmana.mapper.SurvGpsInfoMapper;
import org.jeecg.modules.appmana.service.ISurvGpsInfoService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
/**
* @Description: gps轨迹
* @Author: jeecg-boot
* @Date: 2026-07-31
* @Version: V1.0
*/
@Service
public class SurvGpsInfoServiceImpl extends ServiceImpl<SurvGpsInfoMapper, SurvGpsInfo> implements ISurvGpsInfoService {
}

View File

@ -0,0 +1,85 @@
package org.jeecg.modules.appmana.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.commons.lang3.StringUtils;
import org.jeecg.common.dto.GpsRecordDTO;
import org.jeecg.common.entity.SurvGpsRecord;
import org.jeecg.common.entity.SurvVehicleInfo;
import org.jeecg.modules.appmana.mapper.SurvGpsRecordMapper;
import org.jeecg.modules.appmana.service.ISurvGpsRecordService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
/**
* @Description: gps设备
* @Author: jeecg-boot
* @Date: 2026-07-31
* @Version: V1.0
*/
@Service
public class SurvGpsRecordServiceImpl extends ServiceImpl<SurvGpsRecordMapper, SurvGpsRecord> implements ISurvGpsRecordService {
@Autowired
private SurvVehicleInfoServiceImpl vehicleInfoService;
@Override
public IPage<SurvGpsRecord> pages(GpsRecordDTO gpsRecordDTO) {
if(gpsRecordDTO.getPageNo() == null){
gpsRecordDTO.setPageNo(1);
}
if(gpsRecordDTO.getPageSize() == null) {
gpsRecordDTO.setPageSize(10);
}
List<String> gpsIds = new ArrayList<>();
if(StringUtils.isBlank(gpsRecordDTO.getVehicleId())){
SurvVehicleInfo vehicleInfos = vehicleInfoService.getById(gpsRecordDTO.getVehicleId());
if(vehicleInfos!=null){
gpsIds.add(vehicleInfos.getGpsId());
}else{
return new Page<>(gpsRecordDTO.getPageNo(),gpsRecordDTO.getPageSize());
}
}
if(StringUtils.isNotBlank(gpsRecordDTO.getVehicleName())){
List<SurvVehicleInfo> vehicleInfos = vehicleInfoService
.lambdaQuery()
.like(SurvVehicleInfo::getVeNotes, gpsRecordDTO.getVehicleName())
.list();
if(!vehicleInfos.isEmpty()){
gpsIds.addAll(vehicleInfos.stream().map(SurvVehicleInfo::getId).collect(Collectors.toList()));
}else{
return new Page<>(gpsRecordDTO.getPageNo(),gpsRecordDTO.getPageSize());
}
}
LocalDateTime startTime = null;
LocalDateTime endTime = null;
if(StringUtils.isNotBlank(gpsRecordDTO.getStartTime()) && StringUtils.isNotBlank(gpsRecordDTO.getEndTime())){
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
startTime = LocalDateTime.parse(gpsRecordDTO.getStartTime(), formatter);
endTime = LocalDateTime.parse(gpsRecordDTO.getEndTime(), formatter);
}
Page<SurvGpsRecord> page = new Page<>(gpsRecordDTO.getPageNo(), gpsRecordDTO.getPageSize());
IPage<SurvGpsRecord> pageResult = lambdaQuery()
.eq(StringUtils.isNotBlank(gpsRecordDTO.getGpsId()), SurvGpsRecord::getGpsId, gpsRecordDTO.getGpsId())
.in(!gpsIds.isEmpty(), SurvGpsRecord::getGpsId, gpsIds)
.like(StringUtils.isNotBlank(gpsRecordDTO.getGpsCode()), SurvGpsRecord::getGpsCode, gpsRecordDTO.getGpsCode())
.between(startTime!=null,SurvGpsRecord::getDataDateTime, startTime,endTime)
.orderByDesc(SurvGpsRecord::getDataDateTime)
.orderByDesc(SurvGpsRecord::getCreateTime)
.page(page);
return pageResult;
}
}

View File

@ -0,0 +1,45 @@
package org.jeecg.modules.appmana.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.commons.lang3.StringUtils;
import org.jeecg.common.dto.VehicleDTO;
import org.jeecg.common.entity.SurvVehicleInfo;
import org.jeecg.modules.appmana.mapper.SurvVehicleInfoMapper;
import org.jeecg.modules.appmana.service.ISurvVehicleInfoService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import java.util.Collections;
import java.util.List;
/**
* @Description: surv_vehicle_info
* @Author: jeecg-boot
* @Date: 2026-07-31
* @Version: V1.0
*/
@Service
public class SurvVehicleInfoServiceImpl extends ServiceImpl<SurvVehicleInfoMapper, SurvVehicleInfo> implements ISurvVehicleInfoService {
@Override
public IPage<SurvVehicleInfo> getVechicleList(VehicleDTO vehicleDTO) {
if(vehicleDTO.getPageNo() == null) {
vehicleDTO.setPageNo(1);
}
if(vehicleDTO.getPageSize() == null) {
vehicleDTO.setPageSize(10);
}
Page<SurvVehicleInfo> page = new Page<>(vehicleDTO.getPageNo(), vehicleDTO.getPageSize());
IPage<SurvVehicleInfo> pageResult = lambdaQuery()
.like(StringUtils.isNotBlank(vehicleDTO.getVehicleName()), SurvVehicleInfo::getVeNotes, vehicleDTO.getVehicleName())
.like(StringUtils.isNotBlank(vehicleDTO.getDriverName()), SurvVehicleInfo::getVeDriver, vehicleDTO.getDriverName())
.orderByAsc(SurvVehicleInfo::getSortNo)
.orderByDesc(SurvVehicleInfo::getCreateTime)
.page(page);
return pageResult;
}
}

View File

@ -0,0 +1,28 @@
package org.jeecg.common.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class GpsRecordDTO {
@ApiModelProperty(value = "授权id")
private String authId;
@ApiModelProperty(value = "车辆名称,非必填")
private String vehicleName;
@ApiModelProperty(value = "GPSID非必填")
private String gpsId;
@ApiModelProperty(value = "GPS编码非必填")
private String gpsCode;
@ApiModelProperty(value = "车辆ID非必填")
private String vehicleId;
@ApiModelProperty(value = "开始时间,非必填")
private String startTime;
@ApiModelProperty(value = "结束时间,非必填")
private String endTime;
@ApiModelProperty(value = "当前页")
private Integer pageNo;
@ApiModelProperty(value = "每页数量")
private Integer pageSize;
}

View File

@ -0,0 +1,18 @@
package org.jeecg.common.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class VehicleDTO {
@ApiModelProperty(value = "授权id")
private String authId;
@ApiModelProperty(value = "车辆名称,非必填")
private String vehicleName;
@ApiModelProperty(value = "司机姓名,非必填")
private String driverName;
@ApiModelProperty(value = "当前页,非必填")
private Integer pageNo;
@ApiModelProperty(value = "每页数量,非必填")
private Integer pageSize;
}

View File

@ -0,0 +1,150 @@
package org.jeecg.common.entity;
import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableLogic;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* @Description: gps轨迹
* @Author: jeecg-boot
* @Date: 2026-07-31
* @Version: V1.06
*/
@Data
@TableName("surv_gps_info")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="surv_gps_info对象", description="gps轨迹")
public class SurvGpsInfo implements Serializable {
private static final long serialVersionUID = 1L;
/**主键*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "主键")
private String id;
/**设备名称*/
@Excel(name = "设备名称", width = 15)
@ApiModelProperty(value = "设备名称")
private String gpsName;
/**gps类型;vehicle=车辆*/
@Excel(name = "gps类型;vehicle=车辆", width = 15)
@ApiModelProperty(value = "gps类型;vehicle=车辆")
private String gpsType;
/**物联网协议编号*/
@Excel(name = "物联网协议编号", width = 15)
@ApiModelProperty(value = "物联网协议编号")
private String protocolCode;
/**连接密钥配置ID*/
@Excel(name = "连接密钥配置ID", width = 15)
@ApiModelProperty(value = "连接密钥配置ID")
private String survConfigId;
/**牌照号*/
@Excel(name = "牌照号", width = 15)
@ApiModelProperty(value = "牌照号")
private String gpsPlateNumber;
/**设备id*/
@Excel(name = "设备id", width = 15)
@ApiModelProperty(value = "设备id")
private String gpsDeviceId;
/**设备编号*/
@Excel(name = "设备编号", width = 15)
@ApiModelProperty(value = "设备编号")
private String gpsCode;
/**设备识别码;用于回执时的鉴别一般与GPS_DEVICE_ID相同*/
@Excel(name = "设备识别码;用于回执时的鉴别一般与GPS_DEVICE_ID相同", width = 15)
@ApiModelProperty(value = "设备识别码;用于回执时的鉴别一般与GPS_DEVICE_ID相同")
private String gpsIdent;
/**是否在线;0=离线 1=在线静止 2=在线行驶*/
@Excel(name = "是否在线;0=离线 1=在线静止 2=在线行驶", width = 15)
@ApiModelProperty(value = "是否在线;0=离线 1=在线静止 2=在线行驶")
private Integer onlineStatus;
/**速度*/
@Excel(name = "速度", width = 15)
@ApiModelProperty(value = "速度")
private String gpsSpeed;
/**设防状态*/
@Excel(name = "设防状态", width = 15)
@ApiModelProperty(value = "设防状态")
private String defenceStatus;
/**定位时间*/
@Excel(name = "定位时间", width = 15)
@ApiModelProperty(value = "定位时间")
private String gpsTime;
/**sim卡号*/
@Excel(name = "sim卡号", width = 15)
@ApiModelProperty(value = "sim卡号")
private String simNum;
/**设备型号*/
@Excel(name = "设备型号", width = 15)
@ApiModelProperty(value = "设备型号")
private String macName;
/**最后更新时间*/
@Excel(name = "最后更新时间", width = 15, format = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "最后更新时间")
private Date lastUpdTime;
/**最后更新时间*/
@Excel(name = "最后更新时间", width = 15, format = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "最后更新时间")
private Date lastSyncTime;
/**设备备注*/
@Excel(name = "设备备注", width = 15)
@ApiModelProperty(value = "设备备注")
private String gpsNotes;
/**gsp状态;1=启用0=禁用*/
@Excel(name = "gsp状态;1=启用0=禁用", width = 15)
@ApiModelProperty(value = "gsp状态;1=启用0=禁用")
private Integer gpsStatus;
/**排序值*/
@Excel(name = "排序值", width = 15)
@ApiModelProperty(value = "排序值")
private Integer sortNo;
/**租户号*/
@Excel(name = "租户号", width = 15)
@ApiModelProperty(value = "租户号")
private String tenantId;
/**乐观锁*/
@Excel(name = "乐观锁", width = 15)
@ApiModelProperty(value = "乐观锁")
private Integer reVision;
/**创建人*/
@ApiModelProperty(value = "创建人")
private String createBy;
/**创建时间*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "创建时间")
private Date createTime;
/**更新人*/
@ApiModelProperty(value = "更新人")
private String updateBy;
/**逻辑删除*/
@Excel(name = "逻辑删除", width = 15)
@ApiModelProperty(value = "逻辑删除")
private Integer isDel;
/**更新时间*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "更新时间")
private Date updateTime;
/**乐观锁*/
@Excel(name = "乐观锁", width = 15)
@ApiModelProperty(value = "乐观锁")
private Integer revision;
}

View File

@ -0,0 +1,232 @@
package org.jeecg.common.entity;
import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableLogic;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* @Description: gps设备
* @Author: jeecg-boot
* @Date: 2026-07-31
* @Version: V1.06
*/
@Data
@TableName("surv_gps_record")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="surv_gps_record对象", description="gps设备")
public class SurvGpsRecord implements Serializable {
private static final long serialVersionUID = 1L;
/**主键*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "主键")
private String id;
/**gpsid*/
@Excel(name = "gpsid", width = 15)
@ApiModelProperty(value = "gpsid")
private String gpsId;
/**设备id*/
@Excel(name = "设备id", width = 15)
@ApiModelProperty(value = "设备id")
private String gpsDeviceId;
/**设备号*/
@Excel(name = "设备号", width = 15)
@ApiModelProperty(value = "设备号")
private String gpsCode;
/**设备识别码*/
@Excel(name = "设备识别码", width = 15)
@ApiModelProperty(value = "设备识别码")
private String gpsIdent;
/**数据ID*/
@Excel(name = "数据ID", width = 15)
@ApiModelProperty(value = "数据ID")
private String dataId;
/**数据采集时间*/
@Excel(name = "数据采集时间", width = 15, format = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "数据采集时间")
private Date dataDateTime;
/**设备定位时间*/
@Excel(name = "设备定位时间", width = 15)
@ApiModelProperty(value = "设备定位时间")
private String sysTime;
/**设备名称*/
@Excel(name = "设备名称", width = 15)
@ApiModelProperty(value = "设备名称")
private String userName;
/**经度;gps定位*/
@Excel(name = "经度;gps定位", width = 15)
@ApiModelProperty(value = "经度;gps定位")
private String jingdu;
/**纬度;gps定位*/
@Excel(name = "纬度;gps定位", width = 15)
@ApiModelProperty(value = "纬度;gps定位")
private String weidu;
/**基站经度;基站或wifi定位 使用此处经纬度*/
@Excel(name = "基站经度;基站或wifi定位 使用此处经纬度", width = 15)
@ApiModelProperty(value = "基站经度;基站或wifi定位 使用此处经纬度")
private String ljingdu;
/**基站纬度;基站或wifi定位 使用此处经纬度*/
@Excel(name = "基站纬度;基站或wifi定位 使用此处经纬度", width = 15)
@ApiModelProperty(value = "基站纬度;基站或wifi定位 使用此处经纬度")
private String lweidu;
/**数据更新时间;服务器接收时间*/
@Excel(name = "数据更新时间;服务器接收时间", width = 15)
@ApiModelProperty(value = "数据更新时间;服务器接收时间")
private String datetime;
/**设备心跳时间;信号时间*/
@Excel(name = "设备心跳时间;信号时间", width = 15)
@ApiModelProperty(value = "设备心跳时间;信号时间")
private String heartTime;
/**速度*/
@Excel(name = "速度", width = 15)
@ApiModelProperty(value = "速度")
private String su;
/**状态组;如下表status*/
@Excel(name = "状态组;如下表status", width = 15)
@ApiModelProperty(value = "状态组;如下表status")
private String status;
/**方向*/
@Excel(name = "方向", width = 15)
@ApiModelProperty(value = "方向")
private String hangxiang;
/**设备编号;对应 GPS_CODE 设备号*/
@Excel(name = "设备编号;对应 GPS_CODE 设备号", width = 15)
@ApiModelProperty(value = "设备编号;对应 GPS_CODE 设备号")
private String simId;
/**设备id;对应GPS_IDENT 识别码*/
@Excel(name = "设备id;对应GPS_IDENT 识别码", width = 15)
@ApiModelProperty(value = "设备id;对应GPS_IDENT 识别码")
private String userId;
/**销售类型-无用途*/
@Excel(name = "销售类型-无用途", width = 15)
@ApiModelProperty(value = "销售类型-无用途")
private String saleType;
/**图标*/
@Excel(name = "图标", width = 15)
@ApiModelProperty(value = "图标")
private String icontype;
/**系统时间;当前时间*/
@Excel(name = "系统时间;当前时间", width = 15)
@ApiModelProperty(value = "系统时间;当前时间")
private String serverTime;
/**设备类型;例如A15*/
@Excel(name = "设备类型;例如A15", width = 15)
@ApiModelProperty(value = "设备类型;例如A15")
private String productType;
/**到期时间;一般为204x年2393798400000*/
@Excel(name = "到期时间;一般为204x年2393798400000", width = 15)
@ApiModelProperty(value = "到期时间;一般为204x年2393798400000")
private String expireDate;
/**监控组ID*/
@Excel(name = "监控组ID", width = 15)
@ApiModelProperty(value = "监控组ID")
private String groupId;
/**信息组;如下表status*/
@Excel(name = "信息组;如下表status", width = 15)
@ApiModelProperty(value = "信息组;如下表status")
private String statenumber;
/**例如100*/
@Excel(name = "例如100", width = 15)
@ApiModelProperty(value = "例如100")
private String electric;
/**设备描述信息;例如 ICCID:通常存放一些设备上传的运行参数*/
@Excel(name = "设备描述信息;例如 ICCID:通常存放一些设备上传的运行参数", width = 15)
@ApiModelProperty(value = "设备描述信息;例如 ICCID:通常存放一些设备上传的运行参数")
private String describe;
/**sim卡*/
@Excel(name = "sim卡", width = 15)
@ApiModelProperty(value = "sim卡")
private String sim;
/**精度误差;当值为10表示gps定位无精度*/
@Excel(name = "精度误差;当值为10表示gps定位无精度", width = 15)
@ApiModelProperty(value = "精度误差;当值为10表示gps定位无精度")
private String precision;
/**是否关注*/
@Excel(name = "是否关注", width = 15)
@ApiModelProperty(value = "是否关注")
private String isfollow;
/**车牌号*/
@Excel(name = "车牌号", width = 15)
@ApiModelProperty(value = "车牌号")
private String platenumber;
/**授权信息*/
@Excel(name = "授权信息", width = 15)
@ApiModelProperty(value = "授权信息")
private String auth;
/**授权列表*/
@Excel(name = "授权列表", width = 15)
@ApiModelProperty(value = "授权列表")
private String authlist;
/**部门名称*/
@Excel(name = "部门名称", width = 15)
@ApiModelProperty(value = "部门名称")
private String deptname;
/**是否显示位置*/
@Excel(name = "是否显示位置", width = 15)
@ApiModelProperty(value = "是否显示位置")
private String isshowlocation;
/**模板扩展*/
@Excel(name = "模板扩展", width = 15)
@ApiModelProperty(value = "模板扩展")
private String tempext;
/**卡到期*/
@Excel(name = "卡到期", width = 15)
@ApiModelProperty(value = "卡到期")
private String cardexpire;
/**地理围栏ID*/
@Excel(name = "地理围栏ID", width = 15)
@ApiModelProperty(value = "地理围栏ID")
private String polygonfenceId;
/**扩展信息*/
@Excel(name = "扩展信息", width = 15)
@ApiModelProperty(value = "扩展信息")
private String extendedstate;
/**租户号*/
@Excel(name = "租户号", width = 15)
@ApiModelProperty(value = "租户号")
private String tenantId;
/**乐观锁*/
@Excel(name = "乐观锁", width = 15)
@ApiModelProperty(value = "乐观锁")
private Integer reVision;
/**创建人*/
@ApiModelProperty(value = "创建人")
private String createBy;
/**创建时间*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "创建时间")
private Date createTime;
/**更新人*/
@ApiModelProperty(value = "更新人")
private String updateBy;
/**逻辑删除*/
@Excel(name = "逻辑删除", width = 15)
@ApiModelProperty(value = "逻辑删除")
private Integer isDel;
/**更新时间*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "更新时间")
private Date updateTime;
/**乐观锁*/
@Excel(name = "乐观锁", width = 15)
@ApiModelProperty(value = "乐观锁")
private Integer revision;
}

View File

@ -0,0 +1,114 @@
package org.jeecg.common.entity;
import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableLogic;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* @Description: surv_vehicle_info
* @Author: jeecg-boot
* @Date: 2026-07-31
* @Version: V1.06
*/
@Data
@TableName("surv_vehicle_info")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="surv_vehicle_info对象", description="surv_vehicle_info")
public class SurvVehicleInfo implements Serializable {
private static final long serialVersionUID = 1L;
/**主键*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "主键")
private String id;
/**车辆备注*/
@Excel(name = "车辆备注", width = 15)
@ApiModelProperty(value = "车辆备注")
private String veNotes;
/**驾驶员姓名*/
@Excel(name = "驾驶员姓名", width = 15)
@ApiModelProperty(value = "驾驶员姓名")
private String veDriver;
/**车牌号*/
@Excel(name = "车牌号", width = 15)
@ApiModelProperty(value = "车牌号")
private String vePlate;
/**车辆类型;1=货车2=卡车3=农机*/
@Excel(name = "车辆类型;1=货车2=卡车3=农机", width = 15)
@ApiModelProperty(value = "车辆类型;1=货车2=卡车3=农机")
private String veType;
/**品牌*/
@Excel(name = "品牌", width = 15)
@ApiModelProperty(value = "品牌")
private String veBrand;
/**车型*/
@Excel(name = "车型", width = 15)
@ApiModelProperty(value = "车型")
private String veModel;
/**联系电话*/
@Excel(name = "联系电话", width = 15)
@ApiModelProperty(value = "联系电话")
private String vePhone;
/**车辆说明*/
@Excel(name = "车辆说明", width = 15)
@ApiModelProperty(value = "车辆说明")
private String veDes;
/**车辆状态;1=可用0=暂停*/
@Excel(name = "车辆状态;1=可用0=暂停", width = 15)
@ApiModelProperty(value = "车辆状态;1=可用0=暂停")
private Integer veStatus;
/**排序值*/
@Excel(name = "排序值", width = 15)
@ApiModelProperty(value = "排序值")
private Integer sortNo;
/**GPSid*/
@Excel(name = "GPSid", width = 15)
@ApiModelProperty(value = "GPSid")
private String gpsId;
/**租户号*/
@Excel(name = "租户号", width = 15)
@ApiModelProperty(value = "租户号")
private String tenantId;
/**乐观锁*/
@Excel(name = "乐观锁", width = 15)
@ApiModelProperty(value = "乐观锁")
private Integer reVision;
/**创建人*/
@ApiModelProperty(value = "创建人")
private String createBy;
/**创建时间*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "创建时间")
private Date createTime;
/**更新人*/
@ApiModelProperty(value = "更新人")
private String updateBy;
/**逻辑删除*/
@Excel(name = "逻辑删除", width = 15)
@ApiModelProperty(value = "逻辑删除")
private Integer isDel;
/**更新时间*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "更新时间")
private Date updateTime;
/**乐观锁*/
@Excel(name = "乐观锁", width = 15)
@ApiModelProperty(value = "乐观锁")
private Integer revision;
}