diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/gps/controller/GpsEquipmentSonController.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/gps/controller/GpsEquipmentSonController.java index 6623dd68..0c827097 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/gps/controller/GpsEquipmentSonController.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/gps/controller/GpsEquipmentSonController.java @@ -59,7 +59,7 @@ public class GpsEquipmentSonController extends BaseController { /** * 查询GPS设备定位信息列表(大屏获取人员最后一次位置) */ - @SaCheckPermission("gps:equipmentSon:getList") +// @SaCheckPermission("gps:equipmentSon:getList") @GetMapping("/largerScreen/getList") public R> getLargerScreenList(GpsEquipmentSonBo bo) { return R.ok(gpsEquipmentSonService.getLargerScreenList(bo)); diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/gps/domain/vo/GpsEquipmentSonVo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/gps/domain/vo/GpsEquipmentSonVo.java index 9b7401bf..d3697806 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/gps/domain/vo/GpsEquipmentSonVo.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/gps/domain/vo/GpsEquipmentSonVo.java @@ -40,6 +40,7 @@ public class GpsEquipmentSonVo implements Serializable { */ @ExcelProperty(value = "用户ID") private Long userId; + private String userName; /** * 设备标识 diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/gps/mapper/GpsEquipmentSonMapper.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/gps/mapper/GpsEquipmentSonMapper.java index c80954e9..58ecd4f5 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/gps/mapper/GpsEquipmentSonMapper.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/gps/mapper/GpsEquipmentSonMapper.java @@ -43,4 +43,17 @@ public interface GpsEquipmentSonMapper extends BaseMapperPlus getAppSonByBo(@Param("projectId") Long projectId, @Param("userId") Long userId, @Param("startTime") LocalDateTime startTime, @Param("endTime") LocalDateTime endTime); + + @Select(" WITH ges AS (" + + " SELECT user_id,loc_latitude,loc_longitude,create_time,id , " + + "ROW_NUMBER() OVER(" + + "PARTITION BY user_id " + + "ORDER BY create_time DESC, id DESC) AS rn " + + "FROM gps_equipment_son WHERE project_id = #{projectId})" + + "SELECT user_id AS userId," + + "loc_latitude AS locLatitude, " + + "loc_longitude AS locLongitude " + + "FROM ges " + + "WHERE rn=1;") + List selectVoFristList(@Param("projectId") Long projectId); } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/gps/service/impl/GpsEquipmentSonServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/gps/service/impl/GpsEquipmentSonServiceImpl.java index 45e650a2..b3e25de1 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/gps/service/impl/GpsEquipmentSonServiceImpl.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/gps/service/impl/GpsEquipmentSonServiceImpl.java @@ -1,6 +1,7 @@ package org.dromara.gps.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.checkerframework.checker.units.qual.A; import org.dromara.common.core.service.OssService; import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.StringUtils; @@ -45,6 +46,8 @@ public class GpsEquipmentSonServiceImpl extends ServiceImpl getLargerScreenList(GpsEquipmentSonBo bo) { - return baseMapper.selectVoList(new LambdaQueryWrapper() - .eq(GpsEquipmentSon::getProjectId, bo.getProjectId()) - .apply("row_number() over (partition by {0} order by {1} desc) = 1","user_id","create_time")); + List gpsEquipmentSonVoList = baseMapper.selectVoFristList(bo.getProjectId()); + for (GpsEquipmentSonVo vo : gpsEquipmentSonVoList) { + SysUserVo sysUserVo = sysUserService.selectUserById(vo.getUserId()); + if (sysUserVo != null) { + vo.setUserName(sysUserVo.getNickName()); + } + } + return gpsEquipmentSonVoList; } }