gps接口修改
This commit is contained in:
@ -61,7 +61,7 @@ public class GpsEquipmentSonController extends BaseController {
|
||||
/**
|
||||
* 查询GPS设备定位日期信息列表
|
||||
*/
|
||||
@SaCheckPermission("gps:equipmentSon:getRlList")
|
||||
// @SaCheckPermission("gps:equipmentSon:getRlList")
|
||||
@GetMapping("/getRlList")
|
||||
public R<List<GpsStatusVo>> getRlList(GpsEquipmentSonBo bo) {
|
||||
return R.ok(gpsEquipmentSonService.getRlList(bo));
|
||||
|
||||
@ -81,31 +81,15 @@ public interface GpsEquipmentSonMapper extends BaseMapperPlus<GpsEquipmentSon, G
|
||||
" rn = 1;")
|
||||
List<GpsEquipmentSonVo> getUserListByProjectId(@Param("projectId") Long projectId, @Param("startTime") LocalDateTime startOfDay, @Param("endTime") LocalDateTime now);
|
||||
|
||||
@Select("WITH RECURSIVE date_range AS (\n" +
|
||||
" -- 1. 初始化开始日期(取startTime的“年月日”部分,忽略时分秒)\n" +
|
||||
" SELECT DATE(#{bo.startTime}) AS stat_date\n" +
|
||||
" UNION ALL\n" +
|
||||
" -- 2. 递归生成后续日期,直到不超过endTime的“年月日”\n" +
|
||||
" SELECT DATE_ADD(stat_date, INTERVAL 1 DAY)\n" +
|
||||
" FROM date_range\n" +
|
||||
" WHERE stat_date < DATE(#{bo.endTime})\n" +
|
||||
")\n" +
|
||||
"\n" +
|
||||
"SELECT \n" +
|
||||
" dr.stat_date AS riqi, -- 统计日期(格式:YYYY-MM-DD)\n" +
|
||||
" COUNT(ges.id) AS count -- 当天符合条件的记录数\n" +
|
||||
"FROM date_range dr\n" +
|
||||
"LEFT JOIN (\n" +
|
||||
" SELECT \n" +
|
||||
" DATE(create_time) AS data_date, -- 提取创建时间的“年月日”\n" +
|
||||
" id -- 仅需主键用于计数(减少数据传输)\n" +
|
||||
" FROM gps_equipment_son\n" +
|
||||
" WHERE \n" +
|
||||
" project_id = #{bo.projectId} -- 匹配项目ID\n" +
|
||||
" AND client_id =#{bo.clientId} -- 客户端ID为空\n" +
|
||||
" AND create_time BETWEEN #{bo.startTime} AND #{bo.endTime} -- 时间范围\n" +
|
||||
") ges ON dr.stat_date = ges.data_date -- 按日期关联\n" +
|
||||
"GROUP BY dr.stat_date -- 按统计日期分组\n" +
|
||||
"ORDER BY dr.stat_date; -- 按日期升序排列")
|
||||
@Select("SELECT\n" +
|
||||
" DATE(create_time) AS riqi,\n" +
|
||||
" COUNT(id) AS count \n" +
|
||||
"FROM\n" +
|
||||
" gps_equipment_son\n" +
|
||||
"WHERE\n" +
|
||||
" project_id = #{bo.projectId}\n" +
|
||||
" AND client_id = #{bo.clientId}\n" +
|
||||
" AND create_time BETWEEN #{bo.startTime} AND #{bo.endTime}\n" +
|
||||
" GROUP BY DATE(create_time)")
|
||||
List<GpsStatusVo> getRlList(@Param("bo") GpsEquipmentSonBo bo);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user