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 index fc6be65..54a38fd 100644 --- 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 @@ -10,6 +10,8 @@ import java.io.UnsupportedEncodingException; import java.net.URLDecoder; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; + +import org.apache.commons.lang3.StringUtils; import org.jeecg.common.api.vo.Result; import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.common.util.oConvertUtils; @@ -48,7 +50,7 @@ import org.jeecg.common.system.util.JwtUtil; */ @Api(tags="gps轨迹") @RestController -@RequestMapping("/iot/survGpsInfo") +@RequestMapping("/appmana/survGpsInfo") @Slf4j public class SurvGpsInfoController extends JeecgController { @Autowired @@ -70,9 +72,17 @@ public class SurvGpsInfoController extends JeecgController queryWrapper = QueryGenerator.initQueryWrapper(survGpsInfo, req.getParameterMap()); Page page = new Page(pageNo, pageSize); IPage pageList = survGpsInfoService.page(page, queryWrapper); + survGpsInfoService.fills(pageList.getRecords()); return Result.OK(pageList); } 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 index 66fab8f..4d05c3e 100644 --- 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 @@ -11,6 +11,7 @@ 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.dto.GpsRecordDTO; import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.common.util.oConvertUtils; import org.jeecg.common.entity.SurvGpsRecord; @@ -48,7 +49,7 @@ import org.jeecg.common.system.util.JwtUtil; */ @Api(tags="gps设备") @RestController -@RequestMapping("/iot/survGpsRecord") +@RequestMapping("/appmana/survGpsRecord") @Slf4j public class SurvGpsRecordController extends JeecgController { @Autowired @@ -66,13 +67,16 @@ public class SurvGpsRecordController extends JeecgController> 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); + public Result> queryPageList(GpsRecordDTO gpsRecordDTO, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + + gpsRecordDTO.setPageSize(pageSize); + gpsRecordDTO.setPageNo(pageNo); + gpsRecordDTO.setEndTime(gpsRecordDTO.getStartTime()); + IPage pageList = survGpsRecordService.pages(gpsRecordDTO); + survGpsRecordService.fills(pageList.getRecords()); return Result.OK(pageList); } 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 index 35b24e6..e7b9142 100644 --- 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 @@ -11,6 +11,7 @@ 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.dto.VehicleDTO; import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.common.util.oConvertUtils; import org.jeecg.common.entity.SurvVehicleInfo; @@ -48,7 +49,7 @@ import org.jeecg.common.system.util.JwtUtil; */ @Api(tags="surv_vehicle_info") @RestController -@RequestMapping("/iot/survVehicleInfo") +@RequestMapping("/appmana/survVehicleInfo") @Slf4j public class SurvVehicleInfoController extends JeecgController { @Autowired @@ -66,13 +67,14 @@ public class SurvVehicleInfoController extends JeecgController> 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); + public Result> queryPageList(VehicleDTO vehicleDTO, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + vehicleDTO.setPageNo(pageNo); + vehicleDTO.setPageSize(pageSize); + IPage pageList = survVehicleInfoService.getVechicleList(vehicleDTO); + survVehicleInfoService.fills(pageList.getRecords()); return Result.OK(pageList); } 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 index c0ebcbd..d3d0036 100644 --- 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 @@ -3,6 +3,8 @@ package org.jeecg.modules.appmana.service; import org.jeecg.common.entity.SurvGpsInfo; import com.baomidou.mybatisplus.extension.service.IService; +import java.util.List; + /** * @Description: gps轨迹 * @Author: jeecg-boot @@ -11,4 +13,5 @@ import com.baomidou.mybatisplus.extension.service.IService; */ public interface ISurvGpsInfoService extends IService { + void fills(List records); } 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 index 9ee60d4..c1aca2d 100644 --- 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 @@ -5,6 +5,8 @@ import org.jeecg.common.dto.GpsRecordDTO; import org.jeecg.common.entity.SurvGpsRecord; import com.baomidou.mybatisplus.extension.service.IService; +import java.util.List; + /** * @Description: gps设备 * @Author: jeecg-boot @@ -14,4 +16,6 @@ import com.baomidou.mybatisplus.extension.service.IService; public interface ISurvGpsRecordService extends IService { IPage pages(GpsRecordDTO gpsRecordDTO); + + void fills(List records); } 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 index 76eff35..b4036bf 100644 --- 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 @@ -16,4 +16,6 @@ import java.util.List; public interface ISurvVehicleInfoService extends IService { IPage getVechicleList(VehicleDTO vehicleDTO); + + void fills(List records); } 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 index 36b5f28..63663e7 100644 --- 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 @@ -7,6 +7,8 @@ import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import java.util.List; + /** * @Description: gps轨迹 * @Author: jeecg-boot @@ -16,4 +18,22 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @Service public class SurvGpsInfoServiceImpl extends ServiceImpl implements ISurvGpsInfoService { + @Override + public void fills(List records) { + if(!records.isEmpty()){ + for (SurvGpsInfo record : records) { + record.setStatusDesc(record.getGpsStatus() == 1 ? "启用" : "停用"); + //0=离线 1=在线静止 2=在线行驶 + if(record.getOnlineStatus() == 0){ + record.setOnlineStatusDesc("离线"); + }else if(record.getOnlineStatus() == 1){ + record.setOnlineStatusDesc("在线静止"); + }else if(record.getOnlineStatus() == 2){ + record.setOnlineStatusDesc("在线行驶"); + }else { + record.setOnlineStatusDesc("未知"); + } + } + } + } } 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 index b26f9f1..127871d 100644 --- 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 @@ -16,7 +16,9 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; import java.util.stream.Collectors; /** @@ -82,4 +84,24 @@ public class SurvGpsRecordServiceImpl extends ServiceImpl records) { + if(!records.isEmpty()){ + List gpsIds = records.stream().map(SurvGpsRecord::getGpsId).collect(Collectors.toList()); + List vehicleInfos = vehicleInfoService.lambdaQuery() + .in(SurvVehicleInfo::getGpsId, gpsIds) + .list(); + Map vehicleInfoMap = new HashMap<>(); + if(!vehicleInfos.isEmpty()){ + for (SurvVehicleInfo vehicleInfo : vehicleInfos) { + vehicleInfoMap.put(vehicleInfo.getGpsId(),vehicleInfo); + } + } + for (SurvGpsRecord record : records) { + SurvVehicleInfo vehicleInfo = vehicleInfoMap.get(record.getGpsId()); + record.setVehicleName(vehicleInfo!=null?vehicleInfo.getVeNotes():"未知车辆"); + } + } + } } 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 index f1910f4..67eb742 100644 --- 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 @@ -3,16 +3,22 @@ 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.checkerframework.checker.units.qual.A; import org.jeecg.common.dto.VehicleDTO; +import org.jeecg.common.entity.SurvGpsInfo; import org.jeecg.common.entity.SurvVehicleInfo; import org.jeecg.modules.appmana.mapper.SurvVehicleInfoMapper; import org.jeecg.modules.appmana.service.ISurvVehicleInfoService; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import java.util.Collections; +import java.util.HashMap; import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; /** * @Description: surv_vehicle_info @@ -22,6 +28,9 @@ import java.util.List; */ @Service public class SurvVehicleInfoServiceImpl extends ServiceImpl implements ISurvVehicleInfoService { + @Autowired + private SurvGpsInfoServiceImpl gpsInfoService; + @Override public IPage getVechicleList(VehicleDTO vehicleDTO) { @@ -35,6 +44,7 @@ public class SurvVehicleInfoServiceImpl extends ServiceImpl page = new Page<>(vehicleDTO.getPageNo(), vehicleDTO.getPageSize()); IPage pageResult = lambdaQuery() + .eq(StringUtils.isNotBlank(vehicleDTO.getGpsId()), SurvVehicleInfo::getGpsId, vehicleDTO.getGpsId()) .like(StringUtils.isNotBlank(vehicleDTO.getVehicleName()), SurvVehicleInfo::getVeNotes, vehicleDTO.getVehicleName()) .like(StringUtils.isNotBlank(vehicleDTO.getDriverName()), SurvVehicleInfo::getVeDriver, vehicleDTO.getDriverName()) .orderByAsc(SurvVehicleInfo::getSortNo) @@ -42,4 +52,25 @@ public class SurvVehicleInfoServiceImpl extends ServiceImpl records) { + if(!records.isEmpty()){ + List gpsIds = records.stream().map(SurvVehicleInfo::getGpsId).collect(Collectors.toList()); + + + List gpsList = gpsInfoService.listByIds(gpsIds); + Map gpsInfoMap = new HashMap<>(); + if(!gpsList.isEmpty()){ + for (SurvGpsInfo survGpsInfo : gpsList) { + gpsInfoMap.put(survGpsInfo.getId(), survGpsInfo); + } + } + + for (SurvVehicleInfo record : records) { + SurvGpsInfo gpsInfo = gpsInfoMap.get(record.getGpsId()); + record.setGpsCode(gpsInfo!=null?gpsInfo.getGpsCode():""); + } + } + } } 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 index d5b9ab3..707f89c 100644 --- 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 @@ -8,6 +8,8 @@ public class VehicleDTO { @ApiModelProperty(value = "授权id") private String authId; @ApiModelProperty(value = "车辆名称,非必填") + private String gpsId; + @ApiModelProperty(value = "车辆名称,非必填") private String vehicleName; @ApiModelProperty(value = "司机姓名,非必填") private String driverName; 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 index a65a410..f8b0971 100644 --- 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 @@ -4,10 +4,8 @@ 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 com.baomidou.mybatisplus.annotation.*; import lombok.Data; import com.fasterxml.jackson.annotation.JsonFormat; import org.springframework.format.annotation.DateTimeFormat; @@ -147,4 +145,10 @@ public class SurvGpsInfo implements Serializable { @Excel(name = "乐观锁", width = 15) @ApiModelProperty(value = "乐观锁") private Integer revision; + + @TableField(exist = false) + private String statusDesc; + + @TableField(exist = false) + private String onlineStatusDesc; } 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 index 08d68a7..191170c 100644 --- 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 @@ -362,4 +362,7 @@ public class SurvGpsRecord implements Serializable { @Excel(name = "乐观锁", width = 15) @ApiModelProperty(value = "乐观锁") private Integer revision; + + @TableField(exist = false) + private String vehicleName; } 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 index c98c861..72d8295 100644 --- 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 @@ -4,10 +4,8 @@ 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 com.baomidou.mybatisplus.annotation.*; import lombok.Data; import com.fasterxml.jackson.annotation.JsonFormat; import org.springframework.format.annotation.DateTimeFormat; @@ -111,4 +109,7 @@ public class SurvVehicleInfo implements Serializable { @Excel(name = "乐观锁", width = 15) @ApiModelProperty(value = "乐观锁") private Integer revision; + + @TableField(exist = false) + private String gpsCode; }