| | |
| | | return db.Table(d.TableName()).Where("device_id = ? AND create_time <= ?", devId, timestamp).Order("id desc").First(&d).Error |
| | | } |
| | | |
| | | func (d *Positions) FindMovePosition(id uint, pos string) error { |
| | | return db.Table(d.TableName()).Where("id > ? AND pos != ?", id, pos).First(&d).Error |
| | | func (d *Positions) FindMovePosition(timestamp int64, pos string) error { |
| | | return db.Table(d.TableName()).Where("create_time <= ? AND pos != ?", timestamp, pos).First(&d).Error |
| | | } |
| | | |
| | | func (d *Positions) FindPositionByTime(timestamp int64) error { |
| | |
| | | _ = devPos.FindDevicePosition(deviceId, faceAppearTime.Unix()+5) // 加5秒电梯关门的时间 |
| | | |
| | | floor = devPos.Pos |
| | | stopFloorId := devPos.Id |
| | | |
| | | for i := 0; i < config.NVCSConf.WaitRunTime; i++ { |
| | | if err := devPos.FindMovePosition(stopFloorId, floor); err == nil { |
| | | if err := devPos.FindMovePosition(faceAppearTime.Unix()+5, floor); err == nil { |
| | | switch devPos.RunDir { |
| | | case service.RunUp: |
| | | runDir = "in" |