导出围栏进出记录列表

This commit is contained in:
2025-09-12 14:50:42 +08:00
parent 01a1a6e25b
commit 8597dc5a9f
5 changed files with 21 additions and 14 deletions

View File

@ -55,13 +55,13 @@ public class DeviceFenceAccessRecordBo extends BaseEntity {
* 纬度 * 纬度
*/ */
@NotNull(message = "纬度不能为空", groups = { AddGroup.class, EditGroup.class }) @NotNull(message = "纬度不能为空", groups = { AddGroup.class, EditGroup.class })
private Long latitude; private Double latitude;
/** /**
* 经度 * 经度
*/ */
@NotNull(message = "经度不能为空", groups = { AddGroup.class, EditGroup.class }) @NotNull(message = "经度不能为空", groups = { AddGroup.class, EditGroup.class })
private Long longitude; private Double longitude;
/** /**
* 定位精度 * 定位精度

View File

@ -33,13 +33,13 @@ public class DeviceFenceAccessRecordVo implements Serializable {
/** /**
* 记录ID * 记录ID
*/ */
@ExcelProperty(value = "记录ID") // @ExcelProperty(value = "记录ID")
private Long id; private Long id;
/** /**
* 围栏ID * 围栏ID
*/ */
@ExcelProperty(value = "围栏ID") // @ExcelProperty(value = "围栏ID")
private Long fenceId; private Long fenceId;
/** /**
@ -51,7 +51,7 @@ public class DeviceFenceAccessRecordVo implements Serializable {
/** /**
* 设备标识 * 设备标识
*/ */
@ExcelProperty(value = "设备标识") // @ExcelProperty(value = "设备标识")
private Long deviceId; private Long deviceId;
/** /**
@ -63,13 +63,14 @@ public class DeviceFenceAccessRecordVo implements Serializable {
/** /**
* 用户ID * 用户ID
*/ */
@ExcelProperty(value = "用户ID") // @ExcelProperty(value = "用户ID")
private Long userId; private Long userId;
/** /**
* 事件类型 * 事件类型
*/ */
@ExcelProperty(value = "事件类型") @ExcelProperty(value = "事件类型", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "1=进入围栏,2=离开围栏")
private Long eventType; private Long eventType;
/** /**

View File

@ -8,6 +8,8 @@ import com.fuyuanshen.equipment.domain.DeviceFenceAccessRecord;
import com.fuyuanshen.equipment.domain.vo.DeviceFenceAccessRecordVo; import com.fuyuanshen.equipment.domain.vo.DeviceFenceAccessRecordVo;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List;
/** /**
* 围栏进出记录Mapper接口 * 围栏进出记录Mapper接口
* *
@ -24,4 +26,8 @@ public interface DeviceFenceAccessRecordMapper extends BaseMapperPlus<DeviceFenc
* @return 围栏进出记录分页列表 * @return 围栏进出记录分页列表
*/ */
Page<DeviceFenceAccessRecordVo> selectVoPageWithFenceAndDeviceName(Page<DeviceFenceAccessRecord> page, @Param(Constants.WRAPPER) Wrapper<DeviceFenceAccessRecord> wrapper); Page<DeviceFenceAccessRecordVo> selectVoPageWithFenceAndDeviceName(Page<DeviceFenceAccessRecord> page, @Param(Constants.WRAPPER) Wrapper<DeviceFenceAccessRecord> wrapper);
List<DeviceFenceAccessRecordVo> selectVoPageWithFenceAndDeviceName(@Param(Constants.WRAPPER) Wrapper<DeviceFenceAccessRecord> wrapper);
} }

View File

@ -40,7 +40,7 @@ public class DeviceFenceAccessRecordServiceImpl implements IDeviceFenceAccessRec
* @return 围栏进出记录 * @return 围栏进出记录
*/ */
@Override @Override
public DeviceFenceAccessRecordVo queryById(Long id){ public DeviceFenceAccessRecordVo queryById(Long id) {
return baseMapper.selectVoById(id); return baseMapper.selectVoById(id);
} }
@ -67,7 +67,7 @@ public class DeviceFenceAccessRecordServiceImpl implements IDeviceFenceAccessRec
@Override @Override
public List<DeviceFenceAccessRecordVo> queryList(DeviceFenceAccessRecordBo bo) { public List<DeviceFenceAccessRecordVo> queryList(DeviceFenceAccessRecordBo bo) {
LambdaQueryWrapper<DeviceFenceAccessRecord> lqw = buildQueryWrapper(bo); LambdaQueryWrapper<DeviceFenceAccessRecord> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw); return baseMapper.selectVoPageWithFenceAndDeviceName(lqw);
} }
private LambdaQueryWrapper<DeviceFenceAccessRecord> buildQueryWrapper(DeviceFenceAccessRecordBo bo) { private LambdaQueryWrapper<DeviceFenceAccessRecord> buildQueryWrapper(DeviceFenceAccessRecordBo bo) {
@ -119,8 +119,8 @@ public class DeviceFenceAccessRecordServiceImpl implements IDeviceFenceAccessRec
/** /**
* 保存前的数据校验 * 保存前的数据校验
*/ */
private void validEntityBeforeSave(DeviceFenceAccessRecord entity){ private void validEntityBeforeSave(DeviceFenceAccessRecord entity) {
//TODO 做一些数据校验,如唯一约束 // TODO 做一些数据校验,如唯一约束
} }
/** /**
@ -132,8 +132,8 @@ public class DeviceFenceAccessRecordServiceImpl implements IDeviceFenceAccessRec
*/ */
@Override @Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) { public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){ if (isValid) {
//TODO 做一些业务上的校验,判断是否需要校验 // TODO 做一些业务上的校验,判断是否需要校验
} }
return baseMapper.deleteByIds(ids) > 0; return baseMapper.deleteByIds(ids) > 0;
} }

View File

@ -22,7 +22,7 @@
r.create_time r.create_time
FROM device_fence_access_record r FROM device_fence_access_record r
LEFT JOIN device_geo_fence f ON r.fence_id = f.id LEFT JOIN device_geo_fence f ON r.fence_id = f.id
LEFT JOIN device d ON r.device_id = d.device_id LEFT JOIN device d ON r.device_id = d.id
<where> <where>
${ew.customSqlSegment} ${ew.customSqlSegment}
</where> </where>