package com.ruoyi.inspect.service.impl;
|
|
import com.ruoyi.alarmpoints.well.domain.ArdAlarmpointsWell;
|
import com.ruoyi.alarmpoints.well.mapper.ArdAlarmpointsWellMapper;
|
import com.ruoyi.alarmpoints.well.service.IArdAlarmpointsWellService;
|
import com.ruoyi.device.hiksdk.util.hikSdkUtil.GisUtil;
|
import com.ruoyi.inspect.domain.ArdVideoInspectTask;
|
import com.ruoyi.inspect.domain.ArdVideoInspectTaskStep;
|
import com.ruoyi.inspect.service.IArdVideoInspectTaskService;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
|
import java.util.Comparator;
|
|
@Service
|
public class ArdVideoInspectTaskStepComparator implements Comparator<ArdVideoInspectTaskStep> {
|
private ArdAlarmpointsWellMapper ardAlarmpointsWellMapper;
|
private double cameraLon;
|
private double cameraLat;
|
|
public ArdVideoInspectTaskStepComparator() {
|
}
|
|
public ArdVideoInspectTaskStepComparator(ArdAlarmpointsWellMapper ardAlarmpointsWellMapper,double cameraLon, double cameraLat) {
|
this.ardAlarmpointsWellMapper = ardAlarmpointsWellMapper;
|
this.cameraLon = cameraLon;
|
this.cameraLat = cameraLat;
|
}
|
|
public double getCameraLon() {
|
return cameraLon;
|
}
|
|
public void setCameraLon(double cameraLon) {
|
this.cameraLon = cameraLon;
|
}
|
|
public double getCameraLat() {
|
return cameraLat;
|
}
|
|
public void setCameraLat(double cameraLat) {
|
this.cameraLat = cameraLat;
|
}
|
|
|
@Override
|
public int compare(ArdVideoInspectTaskStep s1, ArdVideoInspectTaskStep s2) {
|
ArdAlarmpointsWell well1 = this.ardAlarmpointsWellMapper.selectArdAlarmpointsWellById(s1.getWellId());
|
ArdAlarmpointsWell well2 = this.ardAlarmpointsWellMapper.selectArdAlarmpointsWellById(s2.getWellId());
|
//计算s1相对角度
|
double angle1 = GisUtil.getNorthAngle(this.cameraLon, this.cameraLat, well1.getLongitude(), well1.getLatitude()) * 1000;
|
//计算s2相对角度
|
double angle2 = GisUtil.getNorthAngle(this.cameraLon, this.cameraLat, well2.getLongitude(), well2.getLatitude()) * 1000;
|
return (int) (angle1 - angle2);
|
}
|
|
}
|