diff --git a/jeecg-boot-base-core/src/main/java/org/jeecg/config/mybatis/MybatisPlusSaasConfig.java b/jeecg-boot-base-core/src/main/java/org/jeecg/config/mybatis/MybatisPlusSaasConfig.java index 78e9036..639c068 100644 --- a/jeecg-boot-base-core/src/main/java/org/jeecg/config/mybatis/MybatisPlusSaasConfig.java +++ b/jeecg-boot-base-core/src/main/java/org/jeecg/config/mybatis/MybatisPlusSaasConfig.java @@ -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.示例测试 diff --git a/zh-module-applet/zh-applet-admin/src/main/java/org/jeecg/modules/appmana/controller/BigScreenControllerP2.java b/zh-module-applet/zh-applet-admin/src/main/java/org/jeecg/modules/appmana/controller/BigScreenControllerP2.java index d7b5138..7e12c40 100644 --- a/zh-module-applet/zh-applet-admin/src/main/java/org/jeecg/modules/appmana/controller/BigScreenControllerP2.java +++ b/zh-module-applet/zh-applet-admin/src/main/java/org/jeecg/modules/appmana/controller/BigScreenControllerP2.java @@ -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> getAlertRecord(@RequestParam(name="pageNo", defaultValue="1") Integer pageNo, @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, @@ -169,4 +171,23 @@ public class BigScreenControllerP2 { IPage pageList = alertRecordService.pageByDevice(page, allList,yearStr); return Result.OK(pageList); } + + @ApiOperationSupport(order = 5) + @ApiOperation(value = "05. 查询车辆列表", notes = "") + @PostMapping(value = "/vehicleList") + public Result> vehicleList(@RequestBody VehicleDTO vehicleDTO) { + commonService.getTenantId(vehicleDTO.getAuthId()); + IPage vehicleInfos = survVehicleInfoService.getVechicleList(vehicleDTO); + return Result.OK(vehicleInfos); + } + + + @ApiOperationSupport(order = 6) + @ApiOperation(value = "06. 查询gps记录", notes = "") + @PostMapping(value = "/gpsRecordPage") + public Result> gpsRecordPage(@RequestBody GpsRecordDTO gpsRecordDTO) { + commonService.getTenantId(gpsRecordDTO.getAuthId()); + IPage records = survGpsRecordService.pages(gpsRecordDTO); + return Result.OK(records); + } } diff --git a/zh-module-applet/zh-applet-admin/src/main/java/org/jeecg/modules/appmana/controller/SurvGpsInfoController.java b/zh-module-applet/zh-applet-admin/src/main/java/org/jeecg/modules/appmana/controller/SurvGpsInfoController.java new file mode 100644 index 0000000..fc6be65 --- /dev/null +++ b/zh-module-applet/zh-applet-admin/src/main/java/org/jeecg/modules/appmana/controller/SurvGpsInfoController.java @@ -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 { + @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> queryPageList(SurvGpsInfo survGpsInfo, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(survGpsInfo, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage 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 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 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 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 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 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); + } + +} diff --git a/zh-module-applet/zh-applet-admin/src/main/java/org/jeecg/modules/appmana/controller/SurvGpsRecordController.java b/zh-module-applet/zh-applet-admin/src/main/java/org/jeecg/modules/appmana/controller/SurvGpsRecordController.java new file mode 100644 index 0000000..66fab8f --- /dev/null +++ b/zh-module-applet/zh-applet-admin/src/main/java/org/jeecg/modules/appmana/controller/SurvGpsRecordController.java @@ -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 { + @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> queryPageList(SurvGpsRecord survGpsRecord, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(survGpsRecord, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage 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 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 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 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 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 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); + } + +} diff --git a/zh-module-applet/zh-applet-admin/src/main/java/org/jeecg/modules/appmana/controller/SurvVehicleInfoController.java b/zh-module-applet/zh-applet-admin/src/main/java/org/jeecg/modules/appmana/controller/SurvVehicleInfoController.java new file mode 100644 index 0000000..35b24e6 --- /dev/null +++ b/zh-module-applet/zh-applet-admin/src/main/java/org/jeecg/modules/appmana/controller/SurvVehicleInfoController.java @@ -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 { + @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> queryPageList(SurvVehicleInfo survVehicleInfo, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(survVehicleInfo, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage 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 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 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 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 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 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); + } + +} diff --git a/zh-module-applet/zh-applet-admin/src/main/java/org/jeecg/modules/appmana/mapper/SurvGpsInfoMapper.java b/zh-module-applet/zh-applet-admin/src/main/java/org/jeecg/modules/appmana/mapper/SurvGpsInfoMapper.java new file mode 100644 index 0000000..3a75765 --- /dev/null +++ b/zh-module-applet/zh-applet-admin/src/main/java/org/jeecg/modules/appmana/mapper/SurvGpsInfoMapper.java @@ -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 { + +} diff --git a/zh-module-applet/zh-applet-admin/src/main/java/org/jeecg/modules/appmana/mapper/SurvGpsRecordMapper.java b/zh-module-applet/zh-applet-admin/src/main/java/org/jeecg/modules/appmana/mapper/SurvGpsRecordMapper.java new file mode 100644 index 0000000..a032628 --- /dev/null +++ b/zh-module-applet/zh-applet-admin/src/main/java/org/jeecg/modules/appmana/mapper/SurvGpsRecordMapper.java @@ -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 { + +} diff --git a/zh-module-applet/zh-applet-admin/src/main/java/org/jeecg/modules/appmana/mapper/SurvVehicleInfoMapper.java b/zh-module-applet/zh-applet-admin/src/main/java/org/jeecg/modules/appmana/mapper/SurvVehicleInfoMapper.java new file mode 100644 index 0000000..91d8866 --- /dev/null +++ b/zh-module-applet/zh-applet-admin/src/main/java/org/jeecg/modules/appmana/mapper/SurvVehicleInfoMapper.java @@ -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 { + +} diff --git a/zh-module-applet/zh-applet-admin/src/main/java/org/jeecg/modules/appmana/mapper/xml/SurvGpsInfoMapper.xml b/zh-module-applet/zh-applet-admin/src/main/java/org/jeecg/modules/appmana/mapper/xml/SurvGpsInfoMapper.xml new file mode 100644 index 0000000..f956696 --- /dev/null +++ b/zh-module-applet/zh-applet-admin/src/main/java/org/jeecg/modules/appmana/mapper/xml/SurvGpsInfoMapper.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/zh-module-applet/zh-applet-admin/src/main/java/org/jeecg/modules/appmana/mapper/xml/SurvGpsRecordMapper.xml b/zh-module-applet/zh-applet-admin/src/main/java/org/jeecg/modules/appmana/mapper/xml/SurvGpsRecordMapper.xml new file mode 100644 index 0000000..0b9bd77 --- /dev/null +++ b/zh-module-applet/zh-applet-admin/src/main/java/org/jeecg/modules/appmana/mapper/xml/SurvGpsRecordMapper.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/zh-module-applet/zh-applet-admin/src/main/java/org/jeecg/modules/appmana/mapper/xml/SurvVehicleInfoMapper.xml b/zh-module-applet/zh-applet-admin/src/main/java/org/jeecg/modules/appmana/mapper/xml/SurvVehicleInfoMapper.xml new file mode 100644 index 0000000..d5414d5 --- /dev/null +++ b/zh-module-applet/zh-applet-admin/src/main/java/org/jeecg/modules/appmana/mapper/xml/SurvVehicleInfoMapper.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/zh-module-applet/zh-applet-admin/src/main/java/org/jeecg/modules/appmana/service/ISurvGpsInfoService.java b/zh-module-applet/zh-applet-admin/src/main/java/org/jeecg/modules/appmana/service/ISurvGpsInfoService.java new file mode 100644 index 0000000..c0ebcbd --- /dev/null +++ b/zh-module-applet/zh-applet-admin/src/main/java/org/jeecg/modules/appmana/service/ISurvGpsInfoService.java @@ -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 { + +} diff --git a/zh-module-applet/zh-applet-admin/src/main/java/org/jeecg/modules/appmana/service/ISurvGpsRecordService.java b/zh-module-applet/zh-applet-admin/src/main/java/org/jeecg/modules/appmana/service/ISurvGpsRecordService.java new file mode 100644 index 0000000..9ee60d4 --- /dev/null +++ b/zh-module-applet/zh-applet-admin/src/main/java/org/jeecg/modules/appmana/service/ISurvGpsRecordService.java @@ -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 { + + IPage pages(GpsRecordDTO gpsRecordDTO); +} diff --git a/zh-module-applet/zh-applet-admin/src/main/java/org/jeecg/modules/appmana/service/ISurvVehicleInfoService.java b/zh-module-applet/zh-applet-admin/src/main/java/org/jeecg/modules/appmana/service/ISurvVehicleInfoService.java new file mode 100644 index 0000000..76eff35 --- /dev/null +++ b/zh-module-applet/zh-applet-admin/src/main/java/org/jeecg/modules/appmana/service/ISurvVehicleInfoService.java @@ -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 { + + IPage getVechicleList(VehicleDTO vehicleDTO); +} diff --git a/zh-module-applet/zh-applet-admin/src/main/java/org/jeecg/modules/appmana/service/impl/SurvGpsInfoServiceImpl.java b/zh-module-applet/zh-applet-admin/src/main/java/org/jeecg/modules/appmana/service/impl/SurvGpsInfoServiceImpl.java new file mode 100644 index 0000000..36b5f28 --- /dev/null +++ b/zh-module-applet/zh-applet-admin/src/main/java/org/jeecg/modules/appmana/service/impl/SurvGpsInfoServiceImpl.java @@ -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 implements ISurvGpsInfoService { + +} diff --git a/zh-module-applet/zh-applet-admin/src/main/java/org/jeecg/modules/appmana/service/impl/SurvGpsRecordServiceImpl.java b/zh-module-applet/zh-applet-admin/src/main/java/org/jeecg/modules/appmana/service/impl/SurvGpsRecordServiceImpl.java new file mode 100644 index 0000000..0a22dab --- /dev/null +++ b/zh-module-applet/zh-applet-admin/src/main/java/org/jeecg/modules/appmana/service/impl/SurvGpsRecordServiceImpl.java @@ -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 implements ISurvGpsRecordService { + + @Autowired + private SurvVehicleInfoServiceImpl vehicleInfoService; + + @Override + public IPage pages(GpsRecordDTO gpsRecordDTO) { + if(gpsRecordDTO.getPageNo() == null){ + gpsRecordDTO.setPageNo(1); + } + + if(gpsRecordDTO.getPageSize() == null) { + gpsRecordDTO.setPageSize(10); + } + List 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 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 page = new Page<>(gpsRecordDTO.getPageNo(), gpsRecordDTO.getPageSize()); + IPage 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; + + } +} diff --git a/zh-module-applet/zh-applet-admin/src/main/java/org/jeecg/modules/appmana/service/impl/SurvVehicleInfoServiceImpl.java b/zh-module-applet/zh-applet-admin/src/main/java/org/jeecg/modules/appmana/service/impl/SurvVehicleInfoServiceImpl.java new file mode 100644 index 0000000..f1910f4 --- /dev/null +++ b/zh-module-applet/zh-applet-admin/src/main/java/org/jeecg/modules/appmana/service/impl/SurvVehicleInfoServiceImpl.java @@ -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 implements ISurvVehicleInfoService { + + @Override + public IPage getVechicleList(VehicleDTO vehicleDTO) { + if(vehicleDTO.getPageNo() == null) { + vehicleDTO.setPageNo(1); + } + if(vehicleDTO.getPageSize() == null) { + vehicleDTO.setPageSize(10); + } + + Page page = new Page<>(vehicleDTO.getPageNo(), vehicleDTO.getPageSize()); + + IPage 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; + } +} diff --git a/zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/dto/GpsRecordDTO.java b/zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/dto/GpsRecordDTO.java new file mode 100644 index 0000000..d88f918 --- /dev/null +++ b/zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/dto/GpsRecordDTO.java @@ -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; +} diff --git a/zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/dto/VehicleDTO.java b/zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/dto/VehicleDTO.java new file mode 100644 index 0000000..d5b9ab3 --- /dev/null +++ b/zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/dto/VehicleDTO.java @@ -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; +} diff --git a/zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/entity/SurvGpsInfo.java b/zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/entity/SurvGpsInfo.java new file mode 100644 index 0000000..a65a410 --- /dev/null +++ b/zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/entity/SurvGpsInfo.java @@ -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; +} diff --git a/zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/entity/SurvGpsRecord.java b/zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/entity/SurvGpsRecord.java new file mode 100644 index 0000000..1b0dea1 --- /dev/null +++ b/zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/entity/SurvGpsRecord.java @@ -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; +} diff --git a/zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/entity/SurvVehicleInfo.java b/zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/entity/SurvVehicleInfo.java new file mode 100644 index 0000000..c98c861 --- /dev/null +++ b/zh-module-applet/zh-applet-common/src/main/java/org/jeecg/common/entity/SurvVehicleInfo.java @@ -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; +}