feiyu02
2025-07-16 8fc27dba6719041402e3e3c099e2f3e01d9d52c7
src/main/kotlin/com/flightfeather/uav/domain/repository/SegmentInfoRep.kt
@@ -3,6 +3,8 @@
import com.flightfeather.uav.domain.entity.SegmentInfo
import com.flightfeather.uav.domain.mapper.SegmentInfoMapper
import org.springframework.stereotype.Repository
import tk.mybatis.mapper.entity.Example
import java.time.LocalDateTime
/**
 * 轨迹分隔数据库操作
@@ -15,4 +17,30 @@
    fun insert(list: List<SegmentInfo>):Int {
        return segmentInfoMapper.insertList(list)
    }
    fun findList(segmentInfo: SegmentInfo): List<SegmentInfo?> {
        return segmentInfoMapper.select(segmentInfo)
    }
    /**
     * 查询时段所涉及的所有路段
     *
     */
    fun findPeriod(missionCode:String?, sTime: LocalDateTime?, eTime: LocalDateTime?): List<SegmentInfo?> {
        return segmentInfoMapper.selectByExample((Example(SegmentInfo::class.java).apply {
//            createCriteria().andEqualTo("missionCode", missionCode)
            createCriteria().andLessThanOrEqualTo("startTime", sTime)
                .andGreaterThanOrEqualTo("endTime", sTime)
            or(
                createCriteria().andLessThanOrEqualTo("startTime", eTime)
                    .andGreaterThanOrEqualTo("endTime", eTime)
            )
            or(
                createCriteria().andGreaterThanOrEqualTo("startTime", sTime)
                    .andLessThanOrEqualTo("endTime", eTime)
            )
            orderBy("startTime")
        }))
    }
}