package com.dhcc.finance.main.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.dhcc.finance.main.model.CwProjectCheckWeb;

public interface CwProjectCheckMapper {
	/**
	 * 功能描述   校验：单个科目余额出现负数
	 * @return List<CwProjectCheckWeb>
	 * @param xtxmbh
	 * @param xtzxmbh
	 * @param userId
	 * @author leiyu
	 * @date 2020年4月21日 下午16:00:12
	 * 修改日志
	 */
	List<CwProjectCheckWeb> selectSingleSubjectBalance(@Param("xtxmbh") String xtxmbh,
			@Param("xtzxmbh") String xtzxmbh, @Param("userId") String userId, @Param("jzrq") String jzrq);

	/**
	 * 功能描述   校验：查询未结束项目无信托规模
	 * @return List<CwProjectCheckWeb>
	 * @param xtxmbh
	 * @param xtzxmbh
	 * @param userId
	 * @author suh
	 * @date 2020年4月21日 下午16:00:12
	 * 修改日志
	 */
	List<CwProjectCheckWeb> selectNoScaleNoClosed(@Param("xtxmbh") String xtxmbh,
			@Param("xtzxmbh") String xtzxmbh, @Param("userId") String userId, @Param("jzrq") String jzrq);



	/**
	 * 功能描述   校验：未分配利润出现负数
	 * @return List<CwProjectCheckWeb>
	 * @param xtxmbh
	 * @param xtzxmbh
	 * @param userId
	 * @author leiyu
	 * @date 2020年4月23日 上午10:01:29
	 * 修改日志
	 */
	List<CwProjectCheckWeb> selectUndistributedProfit(@Param("xtxmbh") String xtxmbh,
			@Param("xtzxmbh") String xtzxmbh, @Param("userId") String userId, @Param("jzrq") String jzrq);
	
	/**
	 * 功能描述   校验：科目余额与辅助账余额不一致
	 * @return List<CwProjectCheckWeb>
	 * @param kmlx
	 * @param xtxmbh
	 * @param xtzxmbh
	 * @param userId
	 * @author leiyu
	 * @date 2020年4月24日 下午17:12:29
	 * 修改日志
	 */
	List<CwProjectCheckWeb> selectDifferentBalance(@Param("kmlx") String kmlx,@Param("xtxmbh") String xtxmbh,
			@Param("xtzxmbh") String xtzxmbh, @Param("userId") String userId, @Param("jzrq") String jzrq);
	
	/**
	 * 功能描述   校验：已结束项目存在信托规模
	 * @return List<CwProjectCheckWeb>
	 * @param xtxmbh
	 * @param xtzxmbh
	 * @param userId
	 * @param xmzzr
	 * @author leiyu
	 * @date 2020年4月22日 下午16:02:35
	 * 修改日志
	 */
	List<CwProjectCheckWeb> selectScaleOfClosedProjects(@Param("xtxmbh") String xtxmbh,
			@Param("xtzxmbh") String xtzxmbh, @Param("userId") String userId, @Param("xmyjzzr") String xmyjzzr);
	
	/**
     * 功能描述 查询未归还固有代垫款项目
     *@param xtxmbh
     *@param xtzxmbh
     *@param userId
     *@param pageNum
     *@param pageSize
     *@param navigatePages
     *@return RestfulResponse<PageInfo<CwBdGlorgbookAndOther>,CurrencyMeta>
     *@author jiangyoushun
     *@date 2020年4月22日
     *修改日志:
     */
    List<CwProjectCheckWeb> selectEntrustRewardBalance(@Param("xtxmbh") String xtxmbh,
            @Param("xtzxmbh") String xtzxmbh, @Param("userId") String userId, @Param("jzrq") String jzrq);

    /**
     * 功能描述 查询其他应付款余额超过100万
     *@param xtxmbh
     *@param xtzxmbh
     *@param userId
     *@param pageNum
     *@param pageSize
     *@param navigatePages
     *@return RestfulResponse<PageInfo<CwBdGlorgbookAndOther>,CurrencyMeta>
     *@author jiangyoushun
     *@date 2020年4月22日
     *修改日志:
     */
    List<CwProjectCheckWeb> selectOtherPayablesBalance(@Param("xtxmbh") String xtxmbh,
            @Param("xtzxmbh") String xtzxmbh, @Param("userId") String userId, @Param("jzrq") String jzrq);

    /**
     * 功能描述 查询应付受益人收益有余额
     *@param xtxmbh
     *@param xtzxmbh
     *@param userId
     *@param pageNum
     *@param pageSize
     *@param navigatePages
     *@return RestfulResponse<PageInfo<CwBdGlorgbookAndOther>,CurrencyMeta>
     *@author jiangyoushun
     *@date 2020年4月22日
     *修改日志:
     */
    List<CwProjectCheckWeb> selectAccruedIncomeBalance(@Param("xtxmbh") String xtxmbh,
            @Param("xtzxmbh") String xtzxmbh, @Param("userId") String userId, @Param("jzrq") String jzrq);

    /**
     * 功能描述 查询科目辅助账存在负数
     *@param xtxmbh
     *@param xtzxmbh
     *@param userId
     *@param pageNum
     *@param pageSize
     *@param navigatePages
     *@return RestfulResponse<PageInfo<CwBdGlorgbookAndOther>,CurrencyMeta>
     *@author jiangyoushun
     *@date 2020年4月22日
     *修改日志:
     */
    List<CwProjectCheckWeb> selectAssetAccountBalance(@Param("kmlx") String kmlx,@Param("xtxmbh") String xtxmbh,
            @Param("xtzxmbh") String xtzxmbh, @Param("userId") String userId, @Param("jzrq") String jzrq);
	
}
