package com.hdkj.lt.bf.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.hdkj.lt.bf.entity.dto.FhzgPlanTransferSchemeUsersDTO;
import com.hdkj.lt.bf.entity.dto.LoadSwitchLoseUsersDTO;
import com.hdkj.lt.core.bizms.modle.dto.FhzgPlanTransferSchemeUsersReqDTO;
import com.hdkj.lt.core.bizms.modle.po.plan.FhzgPlanTransferSchemeUsers;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.math.BigDecimal;
import java.util.List;

/**
 * @author luorui
 * @date 2025/5/17 11:14
 */
@Mapper
public interface FhzgPlanTransferSchemeUsersMapper extends BaseMapper<FhzgPlanTransferSchemeUsers> {

    /**
     * @author luorui
     * @date 2025/5/16 15:51
     * @discription 按照组合id查询 损失用户信息
     *
     **/
    Page<FhzgPlanTransferSchemeUsersDTO> getFhzgPlanTransferSchemeUsersByIdPage(Page<FhzgPlanTransferSchemeUsers> page, @Param("params") FhzgPlanTransferSchemeUsersReqDTO fhzgPlanTransferSchemeUsersReqDTO );

    /**
     *
     * @author luorui
     * @date 2025/5/21 14:08
     * @discription 统计总的损失电量和总的损失时户
     *
     **/
    FhzgPlanTransferSchemeUsers getSum(FhzgPlanTransferSchemeUsersReqDTO fhzgPlanTransferSchemeUsersReqDTO);

    BigDecimal getUserSum(FhzgPlanTransferSchemeUsersReqDTO fhzgPlanTransferSchemeUsersReqDTO);


    List<LoadSwitchLoseUsersDTO> countLoadSwitchLoseUsersByScheme(@Param("schemeId") Long schemeId);

    Page<FhzgPlanTransferSchemeUsersDTO> getDistributionTransformerLowVoltage(Page<FhzgPlanTransferSchemeUsers> page, @Param("params")FhzgPlanTransferSchemeUsersReqDTO fhzgPlanTransferSchemeUsersReqDTO);
}
