wenhongquan 2 лет назад
Родитель
Сommit
cc7d0a2b2c

+ 55 - 0
ruoyi-modules/ruoyi-khy/src/main/java/org/dromara/system/controller/TblGpsDataController.java

@@ -0,0 +1,55 @@
+package org.dromara.system.controller;
+
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotNull;
+import lombok.RequiredArgsConstructor;
+import org.dromara.common.core.domain.R;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import org.dromara.common.excel.utils.ExcelUtil;
+import org.dromara.common.idempotent.annotation.RepeatSubmit;
+import org.dromara.common.log.annotation.Log;
+import org.dromara.common.log.enums.BusinessType;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.web.core.BaseController;
+import org.dromara.system.domain.GpsData;
+import org.dromara.system.domain.bo.GpsDataBo;
+import org.dromara.system.domain.bo.TblCarInfoBo;
+import org.dromara.system.domain.vo.GpsDataVo;
+import org.dromara.system.domain.vo.TblCarInfoVo;
+import org.dromara.system.service.ITblCarInfoService;
+import org.dromara.system.service.ITblGpsDataService;
+import org.dromara.util.MessageUtils;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 车辆信息
+ *
+ * @author Lion Li
+ * @date 2024-02-22
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/system/gpsdata")
+public class TblGpsDataController extends BaseController {
+
+    private final ITblGpsDataService gpsDataService;
+
+    /**
+     * 查询车辆信息列表
+     */
+    @SaCheckPermission("system:carInfo:list")
+    @GetMapping("/list")
+    public TableDataInfo<GpsDataVo> list(GpsDataBo bo, PageQuery pageQuery) {
+        return gpsDataService.queryPageList(bo, pageQuery);
+    }
+
+
+}

+ 8 - 0
ruoyi-modules/ruoyi-khy/src/main/java/org/dromara/system/domain/GpsData.java

@@ -1,14 +1,22 @@
 package org.dromara.system.domain;
 
+import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.Data;
 
+import java.io.Serial;
 import java.io.Serializable;
+import java.util.Date;
 
 @Data
+@TableName("gps_data")
 public class GpsData implements Serializable {
+    @Serial
+    private static final long serialVersionUID = 1L;
+
     private String devicecode;
     private Double speed;
     private Double lat;
     private Double lng;
     private Double alt;
+    private Date ts;
 }

+ 23 - 0
ruoyi-modules/ruoyi-khy/src/main/java/org/dromara/system/domain/bo/GpsDataBo.java

@@ -0,0 +1,23 @@
+package org.dromara.system.domain.bo;
+
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+import org.dromara.system.domain.GpsData;
+import org.dromara.system.domain.TblCarDriveWarning;
+
+import java.io.Serializable;
+import java.util.Date;
+
+@Data
+@EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = GpsData.class, reverseConvertGenerate = false)
+public class GpsDataBo extends BaseEntity {
+    private String devicecode;
+    private Double speed;
+    private Double lat;
+    private Double lng;
+    private Double alt;
+    private Date ts;
+}

+ 39 - 0
ruoyi-modules/ruoyi-khy/src/main/java/org/dromara/system/domain/vo/GpsDataVo.java

@@ -0,0 +1,39 @@
+package org.dromara.system.domain.vo;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+import org.dromara.common.excel.annotation.ExcelDictFormat;
+import org.dromara.common.excel.convert.ExcelDictConvert;
+import org.dromara.system.domain.GpsData;
+import org.dromara.system.domain.TblCarInfo;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.Date;
+
+
+/**
+ * 车辆信息视图对象 tbl_car_info
+ *
+ * @author Lion Li
+ * @date 2024-02-22
+ */
+@Data
+@ExcelIgnoreUnannotated
+@AutoMapper(target = GpsData.class)
+public class GpsDataVo implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    private String devicecode;
+    private Double speed;
+    private Double lat;
+    private Double lng;
+    private Double alt;
+    private Date ts;
+
+
+}

+ 2 - 1
ruoyi-modules/ruoyi-khy/src/main/java/org/dromara/system/mapper/TblGpsDataMapper.java

@@ -3,6 +3,7 @@ package org.dromara.system.mapper;
 import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
 import org.dromara.system.domain.GpsData;
 import org.dromara.system.domain.TblUserVacate;
+import org.dromara.system.domain.vo.GpsDataVo;
 import org.dromara.system.domain.vo.TblUserVacateVo;
 
 /**
@@ -11,7 +12,7 @@ import org.dromara.system.domain.vo.TblUserVacateVo;
  * @author Lion Li
  * @date 2024-02-22
  */
-public interface TblGpsDataMapper extends BaseMapperPlus<GpsData, GpsData> {
+public interface TblGpsDataMapper extends BaseMapperPlus<GpsData,GpsDataVo> {
 
     public void insertdata(GpsData data);
 

+ 5 - 3
ruoyi-modules/ruoyi-khy/src/main/java/org/dromara/system/service/ITblGpsDataService.java

@@ -3,6 +3,8 @@ package org.dromara.system.service;
 import org.dromara.common.mybatis.core.page.PageQuery;
 import org.dromara.common.mybatis.core.page.TableDataInfo;
 import org.dromara.system.domain.GpsData;
+import org.dromara.system.domain.bo.GpsDataBo;
+import org.dromara.system.domain.vo.GpsDataVo;
 
 import java.util.Collection;
 import java.util.List;
@@ -18,17 +20,17 @@ public interface ITblGpsDataService {
     /**
      * 查询丢失货物
      */
-    GpsData queryById(Long id);
+    GpsDataVo queryById(Long id);
 
     /**
      * 查询丢失货物列表
      */
-    TableDataInfo<GpsData> queryPageList(GpsData bo, PageQuery pageQuery);
+    TableDataInfo<GpsDataVo> queryPageList(GpsDataBo bo, PageQuery pageQuery);
 
     /**
      * 查询丢失货物列表
      */
-    List<GpsData> queryList(GpsData bo);
+    List<GpsDataVo> queryList(GpsDataBo bo);
 
     /**
      * 新增丢失货物

+ 3 - 0
ruoyi-modules/ruoyi-khy/src/main/java/org/dromara/system/service/impl/TblCarInfoServiceImpl.java

@@ -11,6 +11,8 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import lombok.RequiredArgsConstructor;
 import org.dromara.common.redis.utils.RedisUtils;
+import org.dromara.system.domain.GpsData;
+import org.dromara.system.mapper.TblGpsDataMapper;
 import org.dromara.util.CamelDataUtil;
 import org.dromara.util.MessageUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -39,6 +41,7 @@ public class TblCarInfoServiceImpl implements ITblCarInfoService {
     private final TblCarInfoMapper baseMapper;
 
 
+    private final TblGpsDataMapper gpsDataMapper;
     /**
      * 查询车辆信息
      */

+ 15 - 6
ruoyi-modules/ruoyi-khy/src/main/java/org/dromara/system/service/impl/TblGpsDataServiceImpl.java

@@ -10,6 +10,9 @@ import org.dromara.common.core.utils.StringUtils;
 import org.dromara.common.mybatis.core.page.PageQuery;
 import org.dromara.common.mybatis.core.page.TableDataInfo;
 import org.dromara.system.domain.GpsData;
+import org.dromara.system.domain.TblCarSchedule;
+import org.dromara.system.domain.bo.GpsDataBo;
+import org.dromara.system.domain.vo.GpsDataVo;
 import org.dromara.system.mapper.TblGpsDataMapper;
 import org.dromara.system.service.ITblGpsDataService;
 import org.springframework.stereotype.Service;
@@ -35,7 +38,7 @@ public class TblGpsDataServiceImpl implements ITblGpsDataService {
      * 查询丢失货物
      */
     @Override
-    public GpsData queryById(Long id){
+    public GpsDataVo queryById(Long id){
         return baseMapper.selectVoById(id);
     }
 
@@ -43,9 +46,9 @@ public class TblGpsDataServiceImpl implements ITblGpsDataService {
      * 查询丢失货物列表
      */
     @Override
-    public TableDataInfo<GpsData> queryPageList(GpsData bo, PageQuery pageQuery) {
+    public TableDataInfo<GpsDataVo> queryPageList(GpsDataBo bo, PageQuery pageQuery) {
         LambdaQueryWrapper<GpsData> lqw = buildQueryWrapper(bo);
-        Page<GpsData> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
+        Page<GpsDataVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
         return TableDataInfo.build(result);
     }
 
@@ -53,14 +56,20 @@ public class TblGpsDataServiceImpl implements ITblGpsDataService {
      * 查询丢失货物列表
      */
     @Override
-    public List<GpsData> queryList(GpsData bo) {
+    public List<GpsDataVo> queryList(GpsDataBo bo) {
         LambdaQueryWrapper<GpsData> lqw = buildQueryWrapper(bo);
         return baseMapper.selectVoList(lqw);
     }
 
-    private LambdaQueryWrapper<GpsData> buildQueryWrapper(GpsData bo) {
+    private LambdaQueryWrapper<GpsData> buildQueryWrapper(GpsDataBo bo) {
         LambdaQueryWrapper<GpsData> lqw = Wrappers.lambdaQuery();
-
+        lqw.eq(bo.getDevicecode()!=null,GpsData::getDevicecode, bo.getDevicecode());
+        if(bo.getParams()!=null && bo.getParams().keySet().size()>0) {
+            if (bo.getParams().get("starttime") != null && bo.getParams().get("endtime") != null) {
+                lqw.gt(bo.getParams().get("starttime") != null, GpsData::getTs, bo.getParams().get("starttime"));
+                lqw.lt(bo.getParams().get("endtime") != null, GpsData::getTs, bo.getParams().get("endtime"));
+            }
+        }
         return lqw;
     }
 

+ 1 - 0
ruoyi-modules/ruoyi-khy/src/main/resources/mapper/system/TblGpsDataMapper.xml

@@ -9,4 +9,5 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         INSERT INTO "${devicecode}" USING gps_data TAGS (#{devicecode}, 1) VALUES (NOW, #{speed}, #{lat}, #{lng}, #{alt});
     </insert>
 
+
 </mapper>