package com.ydtech.modules.fnc.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ydtech.modules.admin.model.report.financialReceivables.*;
import com.ydtech.modules.admin.model.report.profitAnalysis.ProfitAnalysisDto;
import com.ydtech.modules.admin.model.report.profitAnalysis.ProfitAnalysisQueryDto;
import com.ydtech.modules.fnc.dto.InsPlyIncomePTCompanyDto;
import com.ydtech.modules.fnc.dto.InsPlyIncomePTDto;
import com.ydtech.modules.fnc.dto.InsuranceHandlingSettlementMonthDto;
import com.ydtech.modules.fnc.dto.PlatformSettlementRecordDto;
import com.ydtech.modules.fnc.entity.InsPlyIncome;
import com.ydtech.modules.fnc.vo.*;
import com.ydtech.modules.order.entity.vo.AuditExportQueryVo;
import com.ydtech.modules.order.entity.vo.ReceivableExportVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.math.BigDecimal;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
/**
*
* 保司结算手续费 Mapper 接口
*
*
* @author gws
* @since 2024-01-05
*/
@Mapper
public interface InsPlyIncomeMapper extends BaseMapper {
@Select({""}
)
List selectByCondition(InsPlyIncomeVo insPlyIncomeVo);
@Select({
"select a.*,b.`name` dept_name ,c.`name` companyName " +
"from ins_ply_income a " +
"left join sys_dept b on a.dept_id=b.id " +
"left join esm_ins_company c on a.company_id=c.id " +
"where a.policyno= #{policyno}"
}
)
InsPlyIncome selectByPlyno(String policyno);
@Select({""}
)
List selectSettleByCondition(InsPlySettleVo insPlySettleVo);
List queryNew(HashMap params);
List totalQuery(HashMap params);
void uopdateByOrderno(InsPlyIncome insPlyIncome);
List NonSettlementQuery(HashMap params);
HashMap totalAmount(HashMap params);
List totalPinAmount(HashMap params);
List totalBxAmount(HashMap params);
InsPlyIncome queryInvoicing(HashMap params);
List allOtherAmount(HashMap params);
InsPlyIncome findByLicenseno(HashMap params);
InsPlyIncome bxTotalAmount(HashMap params);
InsPlyIncome findByBxLicenseno(HashMap params);
InsPlyIncome getById (@Param("id") String id);
/**
*
* @param idArr 开票的id
* @return
*/
List> groupByInvoic(HashMap params);
List getIncomeIdList(HashMap params);
List> getOtherIds(HashMap params);
InsPlyIncome getEntityById(@Param("id") String id);
void updateByIds(String[] split);
List> otherTimeDetail(HashMap params);
InsPlyIncome ptTotalAmount(HashMap params);
/**
* @version
* @author: hxl
* @Date: 2024/6/18 10:15
* @Description: 根据合作公司id和结算状态查询数据
*/
List platformSettlementRecord(@Param("partnerCompaniesId") String partnerCompaniesId, @Param("handlingFeesStatus") String handlingFeesStatus,@Param("dockingPerson") String dockingPerson);
/***
*
* @param insPlyIncomeVo
* @return 返回私有 平台 应收 已收 未收
*/
InsPlyIncome getTotalPtReceivables(InsPlyIncomeVo insPlyIncomeVo);
/**
* 根据签单日期月份分组
* @param insPlyIncomeVo
* @return 平台 私有 应收 已收
*/
List> ptSumGroupByMonth(HashMap params);
/**
* @version
* @author: hxl
* @Date: 2024/7/31 18:04
* @Description: 查询数据
*/
List queryPage( @Param("vo") ProfitAnalysisQueryDto profitAnalysisQueryDto);
/**
* @version
* @author: hxl
* @Date: 2024/8/1 12:09
* @Description: 查询应收总数据
*/
BigDecimal queryDateByTypeSumAmount(@Param("vo") FinancialReceivablesQueryVo financialReceivablesQueryVo);
/**
* @version
* @author: hxl
* @Date: 2024/8/1 12:16
* @Description: 查询应收列表数据 1-12月
*/
List queryDateByType(@Param("vo") FinancialReceivablesQueryVo financialReceivablesQueryVo);
/**
* @version
* @author: hxl
* @Date: 2024/8/5 10:06
* @Description: 查询月份的统计数据
*/
FinancialReceivablesAllMonthVo queryDateByTypeByMonth(@Param("vo") FinancialReceivablesQueryMonthVo financialReceivablesQueryVo);
/**
* @version
* @author: hxl
* @Date: 2024/8/5 10:32
* @Description: 查询月份统计集合数据
*/
List queryDateByTypeByMonthList(@Param("vo") FinancialReceivablesQueryMonthVo financialReceivablesQueryVo);
List queryDateByTypeByMonthOtherList(@Param("vo") FinancialReceivablesQueryMonthVo financialReceivablesQueryVo);
List queryPlatHanding(@Param("vo") FinancialReceivablesQueryMonthVo financialReceivablesQueryVo);
List queryPrivateCar(@Param("vo") FinancialReceivablesQueryVo financialReceivablesQueryVo);
List getProfitAnalysisQueryList(@Param("vo") ProfitAnalysisQueryDto profitAnalysisQueryDto);
List getInvociAmount(@Param("vo") InsuranceHandlingSettlementMonthVo insuranceHandlingSettlementMonthVo);
Collection extends FinancialReceivablesVo> queryDateByTypePt( @Param("vo") FinancialReceivablesQueryVo financialReceivablesQueryVo);
List getPatherId( @Param("vo") FinancialReceivablesQueryMonthVo financialReceivablesQueryVo);
/**
* @version
* @author: hxl
* @Date: 2024/9/20 9:59
* @Description: 平台结算情况
*/
List totalPTAmount(@Param("vo") InsPlyIncomePTVo insPlyIncomeVo);
/**
* @version
* @author: hxl
* @Date: 2024/9/20 11:04
* @Description: 通过对接人查询数据
*/
List findListByDockingPerson(@Param("vo") InsPlyIncomeQueryPTVo insPlyIncomeVo);
/**
*
* @param params
* @return 合计金额
*/
List totalBxAmountNew(HashMap params);
List changeAmount(@Param("vo") ProfitAnalysisQueryDto profitAnalysisQueryDto);
BigDecimal queryDateByNotTypeSumAmount(@Param("vo") FinancialReceivablesQueryVo financialReceivablesQueryVo);
BigDecimal queryDateByTypeNotSumAmount(@Param("vo") FinancialReceivablesQueryVo financialReceivablesQueryVo);
/**
* @version
* @author: hxl
* @Date: 2024/12/30 10:08
* @Description: 查询签单日期为空的结算日期
*/
List findListByDate(@Param("benginDate") String benginDate, @Param("endDate") String endDate);
List getReceivableExportList(@Param("params")AuditExportQueryVo auditExportQueryVo);
}