场景:人员进场时佩戴读头设备,该读头设备和进场人员唯一绑定,且可以读取指定场地内工作室里安装好固定的RFID标签;每个工作室的RFID标签唯一。 读头设备每隔60S上报一次读取到的RFID信息。? ? ? ? ? ?
需求:(1)统计该人员进场后,都去过哪些工作室?
? ? ? ? ? ? (2)每个都去了几次?每次在里边停留的时间是多少?
? ? ? ? ? ? (3)本次进场后所有工作室停留的时长是多少?
分析:(1)基于上报RFID数据的记录的一次SQL查询,按照RFID分组(A类数据)。就可以知道去了哪些工作室。
? ? ? ? ? ? ? ? ? ? 过滤算法:RFID相同的合并成同一组(A类数据)
? ? ? ? ? ? ?(2)根据(1)中的分组记录(A类数据),设置合适的时间阙值,来判断到某一工作室的次数,按照阙值再次将A 类数据分组(B类数据),获取B类数据中的最大、最小时间值。
? ? ? ? ? ? ? ? ? ? 循环对比算法:外层循环A类,根据阙值得B类,内层循环B类,在通过简单对比算法得分组信息和最大、最小时间值。
这里:在外层循环的同时处理内层分组记录和冒泡获取最大最小时间值,使循环的次数大大减小,高效率处理。
? ? ? ? ? ? ? ?(3)由(2)即可计算得出。
使用bootstrap table类时,添加的html标签类会被其控制的样式默认处理,无法兼容,所以这里用div来替代table样式。