gps大屏
This commit is contained in:
@ -59,7 +59,7 @@ public class GpsEquipmentSonController extends BaseController {
|
||||
/**
|
||||
* 查询GPS设备定位信息列表(大屏获取人员最后一次位置)
|
||||
*/
|
||||
@SaCheckPermission("gps:equipmentSon:getList")
|
||||
// @SaCheckPermission("gps:equipmentSon:getList")
|
||||
@GetMapping("/largerScreen/getList")
|
||||
public R<List<GpsEquipmentSonVo>> getLargerScreenList(GpsEquipmentSonBo bo) {
|
||||
return R.ok(gpsEquipmentSonService.getLargerScreenList(bo));
|
||||
|
||||
@ -40,6 +40,7 @@ public class GpsEquipmentSonVo implements Serializable {
|
||||
*/
|
||||
@ExcelProperty(value = "用户ID")
|
||||
private Long userId;
|
||||
private String userName;
|
||||
|
||||
/**
|
||||
* 设备标识
|
||||
|
||||
@ -43,4 +43,17 @@ public interface GpsEquipmentSonMapper extends BaseMapperPlus<GpsEquipmentSon, G
|
||||
"AND create_time BETWEEN #{startTime} AND #{endTime} " +
|
||||
"ORDER BY create_time")
|
||||
List<GpsEquipmentSonVo> 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<GpsEquipmentSonVo> selectVoFristList(@Param("projectId") Long projectId);
|
||||
}
|
||||
|
||||
@ -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<GpsEquipmentSonMappe
|
||||
private ISysDictDataService sysDictDataService;
|
||||
@Autowired
|
||||
private ISysOssService ossService;
|
||||
@Autowired
|
||||
private ISysUserService sysUserService;
|
||||
|
||||
/**
|
||||
* 查询GPS设备定位信息
|
||||
@ -178,8 +181,13 @@ public class GpsEquipmentSonServiceImpl extends ServiceImpl<GpsEquipmentSonMappe
|
||||
|
||||
@Override
|
||||
public List<GpsEquipmentSonVo> getLargerScreenList(GpsEquipmentSonBo bo) {
|
||||
return baseMapper.selectVoList(new LambdaQueryWrapper<GpsEquipmentSon>()
|
||||
.eq(GpsEquipmentSon::getProjectId, bo.getProjectId())
|
||||
.apply("row_number() over (partition by {0} order by {1} desc) = 1","user_id","create_time"));
|
||||
List<GpsEquipmentSonVo> gpsEquipmentSonVoList = baseMapper.selectVoFristList(bo.getProjectId());
|
||||
for (GpsEquipmentSonVo vo : gpsEquipmentSonVoList) {
|
||||
SysUserVo sysUserVo = sysUserService.selectUserById(vo.getUserId());
|
||||
if (sysUserVo != null) {
|
||||
vo.setUserName(sysUserVo.getNickName());
|
||||
}
|
||||
}
|
||||
return gpsEquipmentSonVoList;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user