package org.jeecg.modules.checkData.equipmentCheckData.service.impl;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.jeecg.modules.checkData.equipmentCheckData.dto.MovementAdditiveInfoDTO;
import org.jeecg.modules.checkData.equipmentCheckData.dto.MovementRecordsMasterDTO;
import org.jeecg.modules.checkData.equipmentCheckData.entity.MovementRecordsMaster;
import org.jeecg.modules.checkData.equipmentCheckData.mapper.MovementRecordsMasterMapper;
import org.jeecg.modules.checkData.equipmentCheckData.service.IMovementRecordsMasterService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.jeecg.modules.checkData.equipmentCheckData.vo.MovementAdditiveInfoVO;
import org.jeecg.modules.checkData.equipmentCheckData.vo.MovementRecordsMasterVO;
import org.springframework.stereotype.Service;

import java.math.BigDecimal;

/**
 * <p>
 * 动静态几何尺寸数据主表	 服务实现类
 * </p>
 *
 * @author hkl
 * @since 2023-07-11
 */
@Service
public class MovementRecordsMasterServiceImpl extends ServiceImpl<MovementRecordsMasterMapper, MovementRecordsMaster> implements IMovementRecordsMasterService {
    /**
     * 动静态几何尺寸列表-分页列表查询
     * @param pageData
     * @param dto
     * @return
     */
    @Override
    public Page<MovementRecordsMasterVO> queryPageList(Page<MovementRecordsMasterVO> pageData, MovementRecordsMasterDTO dto) {
        return this.baseMapper.queryPageList(pageData,dto);
    }

    /**
     * 统计钢轨单元数量
     * @param lightRailId 线路id
     * @param lineAliasId 线别id
     * @param startingMileage 开始里程
     * @param endMileage 结束里程
     * @return
     */
    @Override
    public Integer getRailNums(String sectionId, String lightRailId, String lineAliasId, BigDecimal startingMileage, BigDecimal endMileage) {
        return this.baseMapper.getRailNums(sectionId, lightRailId,lineAliasId,startingMileage,endMileage);
    }
    /**
     * 统计曲线数量
     * @param sectionId 区间id
     * @param lightRailId 线路id
     * @param lineAliasId 线别id
     * @param startingMileage 开始里程
     * @param endMileage 结束里程
     * @return
     */
    @Override
    public Integer getCurveNums(String sectionId, String lightRailId, String lineAliasId, BigDecimal startingMileage, BigDecimal endMileage) {
        return this.baseMapper.getCurveNums(sectionId, lightRailId,lineAliasId,startingMileage,endMileage);
    }
    /**
     * 统计竖曲线数量
     * @param sectionId 区间id
     * @param lightRailId 线路id
     * @param lineAliasId 线别id
     * @param startingMileage 开始里程
     * @param endMileage 结束里程
     * @return
     */
    @Override
    public Integer getVerticalCurveNum(String sectionId, String lightRailId, String lineAliasId, BigDecimal startingMileage, BigDecimal endMileage) {
        return this.baseMapper.getVerticalCurveNum(sectionId, lightRailId,lineAliasId,startingMileage,endMileage);
    }
    /**
     * 统计道岔数量
     *
     * @param sectionId       区间id
     * @param lightRailId     线路id
     * @param lineAliasId     线别id
     * @param startingMileage 开始里程
     * @param endMileage      结束里程
     * @return
     */
    @Override
    public Integer getSwitchNum(String sectionId, String lightRailId, String lineAliasId, BigDecimal startingMileage, BigDecimal endMileage) {
        return this.baseMapper.getSwitchNum(sectionId, lightRailId,lineAliasId,startingMileage,endMileage);
    }
    /**
     * 查询添乘仪详情
     *
     * @param pageData
     * @param dto
     * @return
     */
    @Override
    public Page<MovementAdditiveInfoVO> queryPageAdditiveInfoList(Page<MovementAdditiveInfoVO> pageData, MovementAdditiveInfoDTO dto) {
        return this.baseMapper.queryPageAdditiveInfoList(pageData,dto);
    }
}
